Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 $MAFCA
Holders
73
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
MAFCA
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-02-18 */ // SPDX-License-Identifier: MIT /* __ __ _ ___ ___ _ | \/ | /_\ | __/ __| /_\ | |\/| |/ _ \| _| (__ / _ \ |_| |_/_/_\_\_|_\___/_/_\_\ __ __ _ _ _ | \/ |__ _| |_____ /_\ _ __ ___ _ _(_)__ __ _ | |\/| / _` | / / -_) / _ \| ' \/ -_) '_| / _/ _` | |_| |_\__,_|_\_\___| /_/ \_\_|_|_\___|_| |_\__\__,_| ___ _ _ _____ _ _ ___ | __|__| | |_____ __ __ |_ _| || | __| | _/ _ \ | / _ \ V V / | | | __ | _| |_|\___/_|_\___/\_/\_/_ _ |_| |_||_|___| / __|___ _ _ __| |_(_) |_ _ _| |_(_)___ _ _ | (__/ _ \ ' \(_-< _| | _| || | _| / _ \ ' \ \___\___/_||_/__/\__|_|\__|\_,_|\__|_\___/_||_| /_\ __ _ __ _(_)_ _ / _ \/ _` / _` | | ' \ /_/ \_\__, \__,_|_|_||_| |___/ COMMUNITY : - Telegram: https://t.me/mafcaeth - X: https://x.com/mafcaeth - Website: https://mafca.fun - Reddit: https://www.reddit.com/user/MAFCAeth */ pragma solidity 0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract MAFCA is Context , IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; address payable private _taxWallet; address private constant deadAddress = address(0xdead); uint256 private _initialBuyTax=25; uint256 private _initialSellTax=25; uint256 private _finalBuyTax=15; uint256 private _finalSellTax=15; uint256 private _reduceBuyTaxAt=30; uint256 private _reduceSellTaxAt=50; uint256 private _preventSwapBefore=50; uint256 private _buyCount=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 100000000 * 10**_decimals; string private constant _name = unicode"Make America Follow THE Constitution Again"; string private constant _symbol = unicode"$MAFCA"; uint256 public _maxTxAmount = 1200000 * 10**_decimals; uint256 public _maxWalletSize = 1200000 * 10**_decimals; uint256 public _taxSwapThreshold= 100000 * 10**_decimals; uint256 public _maxTaxSwap= 1000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private limitEffect = true; bool private inSwap = false; bool private swapEnabled = false; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0x1A5266FfD4eEc3Edcb0fEe482F917f88D2C4Dd19); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[deadAddress]= true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { 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 _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { if (!tradingOpen) { require( _isExcludedFromFee[from] || _isExcludedFromFee[to], "trading is not yet open" ); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { if (limitEffect) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } _buyCount++; } if ( to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul ((_buyCount>_reduceSellTaxAt) ?_finalSellTax:_initialSellTax).div(100 ); } else if (from == uniswapV2Pair && to!= address(this) ){ taxAmount = amount.mul ((_buyCount>_reduceBuyTaxAt) ?_finalBuyTax:_initialBuyTax).div(100 ); } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore ){ swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addliquidity() external onlyOwner() { require(!tradingOpen,"Liquidity is already added"); uint256 tokenAmount = balanceOf(address(this)).sub(_tTotal.mul(_initialBuyTax).div(100)); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); uniswapV2Router.addLiquidityETH{value: address(this).balance} ( address(this), tokenAmount, 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function removeLimits () external onlyOwner returns (bool){ limitEffect = false; return true; } function reduceTax (uint256 _value) external onlyOwner returns (bool) { _finalBuyTax = _value; _finalSellTax = _value; require(_value <= 0,"Tax cannot exceed 0"); return true; } function openTrading() external onlyOwner returns (bool) { require(!tradingOpen,"trading is already open"); swapEnabled = true; tradingOpen = true; return true; } function clearstuckETH() external returns (bool) { require(tradingOpen,"trading is not yet open"); uint256 ethBalance=address(this).balance; if(ethBalance>0){ _taxWallet.transfer(ethBalance); } return true; } receive() external payable {} }
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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addliquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearstuckETH","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"reduceTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260196005556019600655600f600755600f600855601e6009556032600a556032600b556000600c556009600a6200003c91906200068a565b62124f806200004c9190620006db565b600d556009600a6200005f91906200068a565b62124f806200006f9190620006db565b600e556009600a6200008291906200068a565b620186a0620000929190620006db565b600f556009600a620000a591906200068a565b620f4240620000b59190620006db565b6010556001601260156101000a81548160ff0219169083151502179055506000601260166101000a81548160ff0219169083151502179055506000601260176101000a81548160ff0219169083151502179055503480156200011657600080fd5b50600062000129620004bf60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350731a5266ffd4eec3edcb0fee482f917f88d2c4dd19600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200022c91906200068a565b6305f5e1006200023d9190620006db565b6001600062000251620004bf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002a5620004c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000432620004bf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200049191906200068a565b6305f5e100620004a29190620006db565b604051620004b1919062000737565b60405180910390a362000754565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200057e57808604811115620005565762000555620004f0565b5b6001851615620005665780820291505b808102905062000576856200051f565b945062000536565b94509492505050565b6000826200059957600190506200066c565b81620005a957600090506200066c565b8160018114620005c25760028114620005cd5762000603565b60019150506200066c565b60ff841115620005e257620005e1620004f0565b5b8360020a915084821115620005fc57620005fb620004f0565b5b506200066c565b5060208310610133831016604e8410600b84101617156200063d5782820a905083811115620006375762000636620004f0565b5b6200066c565b6200064c84848460016200052c565b92509050818404811115620006665762000665620004f0565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620006978262000673565b9150620006a4836200067d565b9250620006d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000587565b905092915050565b6000620006e88262000673565b9150620006f58362000673565b9250828202620007058162000673565b915082820484148315176200071f576200071e620004f0565b5b5092915050565b620007318162000673565b82525050565b60006020820190506200074e600083018462000726565b92915050565b61337880620007646000396000f3fe6080604052600436106101235760003560e01c80637d1db4a5116100a0578063a92d4a9211610064578063a92d4a92146103d4578063bf474bed146103ff578063c9567bf91461042a578063dd62ed3e14610455578063ef985894146104925761012a565b80637d1db4a5146102eb5780638da5cb5b146103165780638f9a55c01461034157806395d89b411461036c578063a9059cbb146103975761012a565b8063313ce567116100e7578063313ce5671461022a57806342e99d1a1461025557806370a082311461026c578063715018a6146102a9578063751039fc146102c05761012a565b806306fdde031461012f578063095ea7b31461015a5780630faee56f1461019757806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104cf565b604051610151919061230b565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c91906123c6565b6104ef565b60405161018e9190612421565b60405180910390f35b3480156101a357600080fd5b506101ac61050d565b6040516101b9919061244b565b60405180910390f35b3480156101ce57600080fd5b506101d7610513565b6040516101e4919061244b565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190612466565b610537565b6040516102219190612421565b60405180910390f35b34801561023657600080fd5b5061023f610610565b60405161024c91906124d5565b60405180910390f35b34801561026157600080fd5b5061026a610619565b005b34801561027857600080fd5b50610293600480360381019061028e91906124f0565b610b76565b6040516102a0919061244b565b60405180910390f35b3480156102b557600080fd5b506102be610bbf565b005b3480156102cc57600080fd5b506102d5610d12565b6040516102e29190612421565b60405180910390f35b3480156102f757600080fd5b50610300610dcb565b60405161030d919061244b565b60405180910390f35b34801561032257600080fd5b5061032b610dd1565b604051610338919061252c565b60405180910390f35b34801561034d57600080fd5b50610356610dfa565b604051610363919061244b565b60405180910390f35b34801561037857600080fd5b50610381610e00565b60405161038e919061230b565b60405180910390f35b3480156103a357600080fd5b506103be60048036038101906103b991906123c6565b610e3d565b6040516103cb9190612421565b60405180910390f35b3480156103e057600080fd5b506103e9610e5b565b6040516103f69190612421565b60405180910390f35b34801561040b57600080fd5b50610414610f2c565b604051610421919061244b565b60405180910390f35b34801561043657600080fd5b5061043f610f32565b60405161044c9190612421565b60405180910390f35b34801561046157600080fd5b5061047c60048036038101906104779190612547565b611056565b604051610489919061244b565b60405180910390f35b34801561049e57600080fd5b506104b960048036038101906104b49190612587565b6110dd565b6040516104c69190612421565b60405180910390f35b60606040518060600160405280602a8152602001613319602a9139905090565b60006105036104fc6111cf565b84846111d7565b6001905092915050565b60105481565b60006009600a6105239190612716565b6305f5e1006105329190612761565b905090565b60006105448484846113a0565b610605846105506111cf565b610600856040518060600160405280602881526020016132f160289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105b66111cf565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d4a9092919063ffffffff16565b6111d7565b600190509392505050565b60006009905090565b6106216111cf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a5906127ef565b60405180910390fd5b601260149054906101000a900460ff16156106fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f59061285b565b60405180910390fd5b600061075e61074760646107396005546009600a61071c9190612716565b6305f5e10061072b9190612761565b611dae90919063ffffffff16565b611e2890919063ffffffff16565b61075030610b76565b611e7290919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107fe30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6107ea9190612716565b6305f5e1006107f99190612761565b6111d7565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561086b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088f9190612890565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093c9190612890565b6040518363ffffffff1660e01b81526004016109599291906128bd565b6020604051808303816000875af1158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c9190612890565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473084600080610a28610dd1565b426040518863ffffffff1660e01b8152600401610a4a9695949392919061292b565b60606040518083038185885af1158015610a68573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a8d91906129a1565b505050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b2f9291906129f4565b6020604051808303816000875af1158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b729190612a49565b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bc76111cf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4b906127ef565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610d1c6111cf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da0906127ef565b60405180910390fd5b6000601260156101000a81548160ff0219169083151502179055506001905090565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600681526020017f244d414643410000000000000000000000000000000000000000000000000000815250905090565b6000610e51610e4a6111cf565b84846113a0565b6001905092915050565b6000601260149054906101000a900460ff16610eac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea390612ac2565b60405180910390fd5b60004790506000811115610f2457600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f22573d6000803e3d6000fd5b505b600191505090565b600f5481565b6000610f3c6111cf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc0906127ef565b60405180910390fd5b601260149054906101000a900460ff1615611019576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101090612b2e565b60405180910390fd5b6001601260176101000a81548160ff0219169083151502179055506001601260146101000a81548160ff0219169083151502179055506001905090565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006110e76111cf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611174576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116b906127ef565b60405180910390fd5b816007819055508160088190555060008211156111c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bd90612b9a565b60405180910390fd5b60019050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123d90612c2c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ac90612cbe565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611393919061244b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140690612d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361147e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147590612de2565b60405180910390fd5b600081116114c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b890612e74565b60405180910390fd5b60006114cb610dd1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115395750611509610dd1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a8d57601260149054906101000a900460ff1661163357600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115f35750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162990612ac2565b60405180910390fd5b5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116de5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117345750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561180557601260159054906101000a900460ff16156117ec57600d54821115611793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178a90612ee0565b60405180910390fd5b600e54826117a085610b76565b6117aa9190612f00565b11156117eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e290612f80565b60405180910390fd5b5b600c60008154809291906117ff90612fa0565b91905055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561188e57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156118d6576118cf60646118c1600a54600c54116118ae576006546118b2565b6008545b85611dae90919063ffffffff16565b611e2890919063ffffffff16565b90506119a4565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561195f57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156119a3576119a06064611992600954600c541161197f57600554611983565b6007545b85611dae90919063ffffffff16565b611e2890919063ffffffff16565b90505b5b60006119af30610b76565b9050601260169054906101000a900460ff16158015611a1b5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a335750601260179054906101000a900460ff165b8015611a405750600f5481115b8015611a4f5750600b54600c54115b15611a8b57611a71611a6c84611a6784601054611ebc565b611ebc565b611ed5565b60004790506000811115611a8957611a884761214e565b5b505b505b6000811115611b9157611ae881600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ba90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b88919061244b565b60405180910390a35b611be382600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c8a611c3c8284611e7290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ba90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d2f8486611e7290919063ffffffff16565b604051611d3c919061244b565b60405180910390a350505050565b6000838311158290611d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d89919061230b565b60405180910390fd5b5060008385611da19190612fe8565b9050809150509392505050565b6000808303611dc05760009050611e22565b60008284611dce9190612761565b9050828482611ddd919061304b565b14611e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e14906130ee565b60405180910390fd5b809150505b92915050565b6000611e6a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612218565b905092915050565b6000611eb483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d4a565b905092915050565b6000818311611ecb5782611ecd565b815b905092915050565b6001601260166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f0d57611f0c61310e565b5b604051908082528060200260200182016040528015611f3b5781602001602082028036833780820191505090505b5090503081600081518110611f5357611f5261313d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201e9190612890565b816001815181106120325761203161313d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061209930601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111d7565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120fd95949392919061322a565b600060405180830381600087803b15801561211757600080fd5b505af115801561212b573d6000803e3d6000fd5b50505050506000601260166101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156121b6573d6000803e3d6000fd5b5050565b60008082846121c99190612f00565b90508381101561220e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612205906132d0565b60405180910390fd5b8091505092915050565b6000808311829061225f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612256919061230b565b60405180910390fd5b506000838561226e919061304b565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122b557808201518184015260208101905061229a565b60008484015250505050565b6000601f19601f8301169050919050565b60006122dd8261227b565b6122e78185612286565b93506122f7818560208601612297565b612300816122c1565b840191505092915050565b6000602082019050818103600083015261232581846122d2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061235d82612332565b9050919050565b61236d81612352565b811461237857600080fd5b50565b60008135905061238a81612364565b92915050565b6000819050919050565b6123a381612390565b81146123ae57600080fd5b50565b6000813590506123c08161239a565b92915050565b600080604083850312156123dd576123dc61232d565b5b60006123eb8582860161237b565b92505060206123fc858286016123b1565b9150509250929050565b60008115159050919050565b61241b81612406565b82525050565b60006020820190506124366000830184612412565b92915050565b61244581612390565b82525050565b6000602082019050612460600083018461243c565b92915050565b60008060006060848603121561247f5761247e61232d565b5b600061248d8682870161237b565b935050602061249e8682870161237b565b92505060406124af868287016123b1565b9150509250925092565b600060ff82169050919050565b6124cf816124b9565b82525050565b60006020820190506124ea60008301846124c6565b92915050565b6000602082840312156125065761250561232d565b5b60006125148482850161237b565b91505092915050565b61252681612352565b82525050565b6000602082019050612541600083018461251d565b92915050565b6000806040838503121561255e5761255d61232d565b5b600061256c8582860161237b565b925050602061257d8582860161237b565b9150509250929050565b60006020828403121561259d5761259c61232d565b5b60006125ab848285016123b1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561263a57808604811115612616576126156125b4565b5b60018516156126255780820291505b8081029050612633856125e3565b94506125fa565b94509492505050565b600082612653576001905061270f565b81612661576000905061270f565b81600181146126775760028114612681576126b0565b600191505061270f565b60ff841115612693576126926125b4565b5b8360020a9150848211156126aa576126a96125b4565b5b5061270f565b5060208310610133831016604e8410600b84101617156126e55782820a9050838111156126e0576126df6125b4565b5b61270f565b6126f284848460016125f0565b92509050818404811115612709576127086125b4565b5b81810290505b9392505050565b600061272182612390565b915061272c836124b9565b92506127597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612643565b905092915050565b600061276c82612390565b915061277783612390565b925082820261278581612390565b9150828204841483151761279c5761279b6125b4565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006127d9602083612286565b91506127e4826127a3565b602082019050919050565b60006020820190508181036000830152612808816127cc565b9050919050565b7f4c697175696469747920697320616c7265616479206164646564000000000000600082015250565b6000612845601a83612286565b91506128508261280f565b602082019050919050565b6000602082019050818103600083015261287481612838565b9050919050565b60008151905061288a81612364565b92915050565b6000602082840312156128a6576128a561232d565b5b60006128b48482850161287b565b91505092915050565b60006040820190506128d2600083018561251d565b6128df602083018461251d565b9392505050565b6000819050919050565b6000819050919050565b600061291561291061290b846128e6565b6128f0565b612390565b9050919050565b612925816128fa565b82525050565b600060c082019050612940600083018961251d565b61294d602083018861243c565b61295a604083018761291c565b612967606083018661291c565b612974608083018561251d565b61298160a083018461243c565b979650505050505050565b60008151905061299b8161239a565b92915050565b6000806000606084860312156129ba576129b961232d565b5b60006129c88682870161298c565b93505060206129d98682870161298c565b92505060406129ea8682870161298c565b9150509250925092565b6000604082019050612a09600083018561251d565b612a16602083018461243c565b9392505050565b612a2681612406565b8114612a3157600080fd5b50565b600081519050612a4381612a1d565b92915050565b600060208284031215612a5f57612a5e61232d565b5b6000612a6d84828501612a34565b91505092915050565b7f74726164696e67206973206e6f7420796574206f70656e000000000000000000600082015250565b6000612aac601783612286565b9150612ab782612a76565b602082019050919050565b60006020820190508181036000830152612adb81612a9f565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612b18601783612286565b9150612b2382612ae2565b602082019050919050565b60006020820190508181036000830152612b4781612b0b565b9050919050565b7f5461782063616e6e6f7420657863656564203000000000000000000000000000600082015250565b6000612b84601383612286565b9150612b8f82612b4e565b602082019050919050565b60006020820190508181036000830152612bb381612b77565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c16602483612286565b9150612c2182612bba565b604082019050919050565b60006020820190508181036000830152612c4581612c09565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ca8602283612286565b9150612cb382612c4c565b604082019050919050565b60006020820190508181036000830152612cd781612c9b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d3a602583612286565b9150612d4582612cde565b604082019050919050565b60006020820190508181036000830152612d6981612d2d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612dcc602383612286565b9150612dd782612d70565b604082019050919050565b60006020820190508181036000830152612dfb81612dbf565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e5e602983612286565b9150612e6982612e02565b604082019050919050565b60006020820190508181036000830152612e8d81612e51565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612eca601983612286565b9150612ed582612e94565b602082019050919050565b60006020820190508181036000830152612ef981612ebd565b9050919050565b6000612f0b82612390565b9150612f1683612390565b9250828201905080821115612f2e57612f2d6125b4565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612f6a601a83612286565b9150612f7582612f34565b602082019050919050565b60006020820190508181036000830152612f9981612f5d565b9050919050565b6000612fab82612390565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fdd57612fdc6125b4565b5b600182019050919050565b6000612ff382612390565b9150612ffe83612390565b9250828203905081811115613016576130156125b4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061305682612390565b915061306183612390565b9250826130715761307061301c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006130d8602183612286565b91506130e38261307c565b604082019050919050565b60006020820190508181036000830152613107816130cb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6131a181612352565b82525050565b60006131b38383613198565b60208301905092915050565b6000602082019050919050565b60006131d78261316c565b6131e18185613177565b93506131ec83613188565b8060005b8381101561321d57815161320488826131a7565b975061320f836131bf565b9250506001810190506131f0565b5085935050505092915050565b600060a08201905061323f600083018861243c565b61324c602083018761291c565b818103604083015261325e81866131cc565b905061326d606083018561251d565b61327a608083018461243c565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006132ba601b83612286565b91506132c582613284565b602082019050919050565b600060208201905081810360008301526132e9816132ad565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654d616b6520416d657269636120466f6c6c6f772054484520436f6e737469747574696f6e20416761696ea2646970667358221220e59c8e495f2f25933fa9b07c3fa10ff465847010af599332b456c6714a68923b64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101235760003560e01c80637d1db4a5116100a0578063a92d4a9211610064578063a92d4a92146103d4578063bf474bed146103ff578063c9567bf91461042a578063dd62ed3e14610455578063ef985894146104925761012a565b80637d1db4a5146102eb5780638da5cb5b146103165780638f9a55c01461034157806395d89b411461036c578063a9059cbb146103975761012a565b8063313ce567116100e7578063313ce5671461022a57806342e99d1a1461025557806370a082311461026c578063715018a6146102a9578063751039fc146102c05761012a565b806306fdde031461012f578063095ea7b31461015a5780630faee56f1461019757806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104cf565b604051610151919061230b565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c91906123c6565b6104ef565b60405161018e9190612421565b60405180910390f35b3480156101a357600080fd5b506101ac61050d565b6040516101b9919061244b565b60405180910390f35b3480156101ce57600080fd5b506101d7610513565b6040516101e4919061244b565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190612466565b610537565b6040516102219190612421565b60405180910390f35b34801561023657600080fd5b5061023f610610565b60405161024c91906124d5565b60405180910390f35b34801561026157600080fd5b5061026a610619565b005b34801561027857600080fd5b50610293600480360381019061028e91906124f0565b610b76565b6040516102a0919061244b565b60405180910390f35b3480156102b557600080fd5b506102be610bbf565b005b3480156102cc57600080fd5b506102d5610d12565b6040516102e29190612421565b60405180910390f35b3480156102f757600080fd5b50610300610dcb565b60405161030d919061244b565b60405180910390f35b34801561032257600080fd5b5061032b610dd1565b604051610338919061252c565b60405180910390f35b34801561034d57600080fd5b50610356610dfa565b604051610363919061244b565b60405180910390f35b34801561037857600080fd5b50610381610e00565b60405161038e919061230b565b60405180910390f35b3480156103a357600080fd5b506103be60048036038101906103b991906123c6565b610e3d565b6040516103cb9190612421565b60405180910390f35b3480156103e057600080fd5b506103e9610e5b565b6040516103f69190612421565b60405180910390f35b34801561040b57600080fd5b50610414610f2c565b604051610421919061244b565b60405180910390f35b34801561043657600080fd5b5061043f610f32565b60405161044c9190612421565b60405180910390f35b34801561046157600080fd5b5061047c60048036038101906104779190612547565b611056565b604051610489919061244b565b60405180910390f35b34801561049e57600080fd5b506104b960048036038101906104b49190612587565b6110dd565b6040516104c69190612421565b60405180910390f35b60606040518060600160405280602a8152602001613319602a9139905090565b60006105036104fc6111cf565b84846111d7565b6001905092915050565b60105481565b60006009600a6105239190612716565b6305f5e1006105329190612761565b905090565b60006105448484846113a0565b610605846105506111cf565b610600856040518060600160405280602881526020016132f160289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105b66111cf565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d4a9092919063ffffffff16565b6111d7565b600190509392505050565b60006009905090565b6106216111cf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a5906127ef565b60405180910390fd5b601260149054906101000a900460ff16156106fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f59061285b565b60405180910390fd5b600061075e61074760646107396005546009600a61071c9190612716565b6305f5e10061072b9190612761565b611dae90919063ffffffff16565b611e2890919063ffffffff16565b61075030610b76565b611e7290919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107fe30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6107ea9190612716565b6305f5e1006107f99190612761565b6111d7565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561086b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088f9190612890565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093c9190612890565b6040518363ffffffff1660e01b81526004016109599291906128bd565b6020604051808303816000875af1158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c9190612890565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473084600080610a28610dd1565b426040518863ffffffff1660e01b8152600401610a4a9695949392919061292b565b60606040518083038185885af1158015610a68573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a8d91906129a1565b505050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b2f9291906129f4565b6020604051808303816000875af1158015610b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b729190612a49565b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bc76111cf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4b906127ef565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610d1c6111cf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da0906127ef565b60405180910390fd5b6000601260156101000a81548160ff0219169083151502179055506001905090565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600681526020017f244d414643410000000000000000000000000000000000000000000000000000815250905090565b6000610e51610e4a6111cf565b84846113a0565b6001905092915050565b6000601260149054906101000a900460ff16610eac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea390612ac2565b60405180910390fd5b60004790506000811115610f2457600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f22573d6000803e3d6000fd5b505b600191505090565b600f5481565b6000610f3c6111cf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc0906127ef565b60405180910390fd5b601260149054906101000a900460ff1615611019576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101090612b2e565b60405180910390fd5b6001601260176101000a81548160ff0219169083151502179055506001601260146101000a81548160ff0219169083151502179055506001905090565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006110e76111cf565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611174576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116b906127ef565b60405180910390fd5b816007819055508160088190555060008211156111c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bd90612b9a565b60405180910390fd5b60019050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123d90612c2c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ac90612cbe565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611393919061244b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361140f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140690612d50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361147e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147590612de2565b60405180910390fd5b600081116114c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b890612e74565b60405180910390fd5b60006114cb610dd1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115395750611509610dd1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a8d57601260149054906101000a900460ff1661163357600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115f35750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162990612ac2565b60405180910390fd5b5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116de5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117345750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561180557601260159054906101000a900460ff16156117ec57600d54821115611793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178a90612ee0565b60405180910390fd5b600e54826117a085610b76565b6117aa9190612f00565b11156117eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e290612f80565b60405180910390fd5b5b600c60008154809291906117ff90612fa0565b91905055505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561188e57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156118d6576118cf60646118c1600a54600c54116118ae576006546118b2565b6008545b85611dae90919063ffffffff16565b611e2890919063ffffffff16565b90506119a4565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561195f57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156119a3576119a06064611992600954600c541161197f57600554611983565b6007545b85611dae90919063ffffffff16565b611e2890919063ffffffff16565b90505b5b60006119af30610b76565b9050601260169054906101000a900460ff16158015611a1b5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a335750601260179054906101000a900460ff165b8015611a405750600f5481115b8015611a4f5750600b54600c54115b15611a8b57611a71611a6c84611a6784601054611ebc565b611ebc565b611ed5565b60004790506000811115611a8957611a884761214e565b5b505b505b6000811115611b9157611ae881600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ba90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b88919061244b565b60405180910390a35b611be382600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c8a611c3c8284611e7290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ba90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d2f8486611e7290919063ffffffff16565b604051611d3c919061244b565b60405180910390a350505050565b6000838311158290611d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d89919061230b565b60405180910390fd5b5060008385611da19190612fe8565b9050809150509392505050565b6000808303611dc05760009050611e22565b60008284611dce9190612761565b9050828482611ddd919061304b565b14611e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e14906130ee565b60405180910390fd5b809150505b92915050565b6000611e6a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612218565b905092915050565b6000611eb483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d4a565b905092915050565b6000818311611ecb5782611ecd565b815b905092915050565b6001601260166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f0d57611f0c61310e565b5b604051908082528060200260200182016040528015611f3b5781602001602082028036833780820191505090505b5090503081600081518110611f5357611f5261313d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201e9190612890565b816001815181106120325761203161313d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061209930601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111d7565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120fd95949392919061322a565b600060405180830381600087803b15801561211757600080fd5b505af115801561212b573d6000803e3d6000fd5b50505050506000601260166101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156121b6573d6000803e3d6000fd5b5050565b60008082846121c99190612f00565b90508381101561220e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612205906132d0565b60405180910390fd5b8091505092915050565b6000808311829061225f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612256919061230b565b60405180910390fd5b506000838561226e919061304b565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122b557808201518184015260208101905061229a565b60008484015250505050565b6000601f19601f8301169050919050565b60006122dd8261227b565b6122e78185612286565b93506122f7818560208601612297565b612300816122c1565b840191505092915050565b6000602082019050818103600083015261232581846122d2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061235d82612332565b9050919050565b61236d81612352565b811461237857600080fd5b50565b60008135905061238a81612364565b92915050565b6000819050919050565b6123a381612390565b81146123ae57600080fd5b50565b6000813590506123c08161239a565b92915050565b600080604083850312156123dd576123dc61232d565b5b60006123eb8582860161237b565b92505060206123fc858286016123b1565b9150509250929050565b60008115159050919050565b61241b81612406565b82525050565b60006020820190506124366000830184612412565b92915050565b61244581612390565b82525050565b6000602082019050612460600083018461243c565b92915050565b60008060006060848603121561247f5761247e61232d565b5b600061248d8682870161237b565b935050602061249e8682870161237b565b92505060406124af868287016123b1565b9150509250925092565b600060ff82169050919050565b6124cf816124b9565b82525050565b60006020820190506124ea60008301846124c6565b92915050565b6000602082840312156125065761250561232d565b5b60006125148482850161237b565b91505092915050565b61252681612352565b82525050565b6000602082019050612541600083018461251d565b92915050565b6000806040838503121561255e5761255d61232d565b5b600061256c8582860161237b565b925050602061257d8582860161237b565b9150509250929050565b60006020828403121561259d5761259c61232d565b5b60006125ab848285016123b1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561263a57808604811115612616576126156125b4565b5b60018516156126255780820291505b8081029050612633856125e3565b94506125fa565b94509492505050565b600082612653576001905061270f565b81612661576000905061270f565b81600181146126775760028114612681576126b0565b600191505061270f565b60ff841115612693576126926125b4565b5b8360020a9150848211156126aa576126a96125b4565b5b5061270f565b5060208310610133831016604e8410600b84101617156126e55782820a9050838111156126e0576126df6125b4565b5b61270f565b6126f284848460016125f0565b92509050818404811115612709576127086125b4565b5b81810290505b9392505050565b600061272182612390565b915061272c836124b9565b92506127597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612643565b905092915050565b600061276c82612390565b915061277783612390565b925082820261278581612390565b9150828204841483151761279c5761279b6125b4565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006127d9602083612286565b91506127e4826127a3565b602082019050919050565b60006020820190508181036000830152612808816127cc565b9050919050565b7f4c697175696469747920697320616c7265616479206164646564000000000000600082015250565b6000612845601a83612286565b91506128508261280f565b602082019050919050565b6000602082019050818103600083015261287481612838565b9050919050565b60008151905061288a81612364565b92915050565b6000602082840312156128a6576128a561232d565b5b60006128b48482850161287b565b91505092915050565b60006040820190506128d2600083018561251d565b6128df602083018461251d565b9392505050565b6000819050919050565b6000819050919050565b600061291561291061290b846128e6565b6128f0565b612390565b9050919050565b612925816128fa565b82525050565b600060c082019050612940600083018961251d565b61294d602083018861243c565b61295a604083018761291c565b612967606083018661291c565b612974608083018561251d565b61298160a083018461243c565b979650505050505050565b60008151905061299b8161239a565b92915050565b6000806000606084860312156129ba576129b961232d565b5b60006129c88682870161298c565b93505060206129d98682870161298c565b92505060406129ea8682870161298c565b9150509250925092565b6000604082019050612a09600083018561251d565b612a16602083018461243c565b9392505050565b612a2681612406565b8114612a3157600080fd5b50565b600081519050612a4381612a1d565b92915050565b600060208284031215612a5f57612a5e61232d565b5b6000612a6d84828501612a34565b91505092915050565b7f74726164696e67206973206e6f7420796574206f70656e000000000000000000600082015250565b6000612aac601783612286565b9150612ab782612a76565b602082019050919050565b60006020820190508181036000830152612adb81612a9f565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612b18601783612286565b9150612b2382612ae2565b602082019050919050565b60006020820190508181036000830152612b4781612b0b565b9050919050565b7f5461782063616e6e6f7420657863656564203000000000000000000000000000600082015250565b6000612b84601383612286565b9150612b8f82612b4e565b602082019050919050565b60006020820190508181036000830152612bb381612b77565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c16602483612286565b9150612c2182612bba565b604082019050919050565b60006020820190508181036000830152612c4581612c09565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ca8602283612286565b9150612cb382612c4c565b604082019050919050565b60006020820190508181036000830152612cd781612c9b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d3a602583612286565b9150612d4582612cde565b604082019050919050565b60006020820190508181036000830152612d6981612d2d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612dcc602383612286565b9150612dd782612d70565b604082019050919050565b60006020820190508181036000830152612dfb81612dbf565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e5e602983612286565b9150612e6982612e02565b604082019050919050565b60006020820190508181036000830152612e8d81612e51565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612eca601983612286565b9150612ed582612e94565b602082019050919050565b60006020820190508181036000830152612ef981612ebd565b9050919050565b6000612f0b82612390565b9150612f1683612390565b9250828201905080821115612f2e57612f2d6125b4565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612f6a601a83612286565b9150612f7582612f34565b602082019050919050565b60006020820190508181036000830152612f9981612f5d565b9050919050565b6000612fab82612390565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fdd57612fdc6125b4565b5b600182019050919050565b6000612ff382612390565b9150612ffe83612390565b9250828203905081811115613016576130156125b4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061305682612390565b915061306183612390565b9250826130715761307061301c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006130d8602183612286565b91506130e38261307c565b604082019050919050565b60006020820190508181036000830152613107816130cb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6131a181612352565b82525050565b60006131b38383613198565b60208301905092915050565b6000602082019050919050565b60006131d78261316c565b6131e18185613177565b93506131ec83613188565b8060005b8381101561321d57815161320488826131a7565b975061320f836131bf565b9250506001810190506131f0565b5085935050505092915050565b600060a08201905061323f600083018861243c565b61324c602083018761291c565b818103604083015261325e81866131cc565b905061326d606083018561251d565b61327a608083018461243c565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006132ba601b83612286565b91506132c582613284565b602082019050919050565b600060208201905081810360008301526132e9816132ad565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654d616b6520416d657269636120466f6c6c6f772054484520436f6e737469747574696f6e20416761696ea2646970667358221220e59c8e495f2f25933fa9b07c3fa10ff465847010af599332b456c6714a68923b64736f6c63430008130033
Deployed Bytecode Sourcemap
5113:8487:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7049:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7882:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6251:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7326:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8051:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7235:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11881:837;;;;;;;;;;;;;:::i;:::-;;7429:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4194:148;;;;;;;;;;;;;:::i;:::-;;12726:118;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6066:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3980:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6126:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7140:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7556:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13293:269;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6188:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13082:203;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7731:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12856:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7049:83;7086:13;7119:5;;;;;;;;;;;;;;;;;7112:12;;7049:83;:::o;7882:161::-;7957:4;7974:39;7983:12;:10;:12::i;:::-;7997:7;8006:6;7974:8;:39::i;:::-;8031:4;8024:11;;7882:161;;;;:::o;6251:51::-;;;;:::o;7326:95::-;7379:7;5845:1;5900:2;:13;;;;:::i;:::-;5888:9;:25;;;;:::i;:::-;7399:14;;7326:95;:::o;8051:313::-;8149:4;8166:36;8176:6;8184:9;8195:6;8166:9;:36::i;:::-;8213:121;8222:6;8230:12;:10;:12::i;:::-;8244:89;8282:6;8244:89;;;;;;;;;;;;;;;;;:11;:19;8256:6;8244:19;;;;;;;;;;;;;;;:33;8264:12;:10;:12::i;:::-;8244:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8213:8;:121::i;:::-;8352:4;8345:11;;8051:313;;;;;:::o;7235:83::-;7276:5;5845:1;7294:16;;7235:83;:::o;11881:837::-;4117:12;:10;:12::i;:::-;4107:22;;:6;;;;;;;;;;:22;;;4099:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11946:11:::1;;;;;;;;;;;11945:12;11937:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;11998:19;12020:66;12049:36;12081:3;12049:27;12061:14;;5845:1;5900:2;:13;;;;:::i;:::-;5888:9;:25;;;;:::i;:::-;12049:11;;:27;;;;:::i;:::-;:31;;:36;;;;:::i;:::-;12020:24;12038:4;12020:9;:24::i;:::-;:28;;:66;;;;:::i;:::-;11998:88;;12134:42;12097:15;;:80;;;;;;;;;;;;;;;;;;12188:58;12205:4;12220:15;;;;;;;;;;;5845:1;5900:2;:13;;;;:::i;:::-;5888:9;:25;;;;:::i;:::-;12188:8;:58::i;:::-;12291:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12273:55;;;12351:4;12372:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12273:132;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12257:13;;:148;;;;;;;;;;;;;;;;;;12416:15;;;;;;;;;;;:31;;;12455:21;12501:4;12521:11;12547:1;12563::::0;12579:7:::1;:5;:7::i;:::-;12601:15;12416:211;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12645:13;;;;;;;;;;;12638:29;;;12676:15;;;;;;;;;;;12694:14;12638:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11926:792;11881:837::o:0;7429:119::-;7495:7;7522:9;:18;7532:7;7522:18;;;;;;;;;;;;;;;;7515:25;;7429:119;;;:::o;4194:148::-;4117:12;:10;:12::i;:::-;4107:22;;:6;;;;;;;;;;:22;;;4099:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4301:1:::1;4264:40;;4285:6;::::0;::::1;;;;;;;;4264:40;;;;;;;;;;;;4332:1;4315:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4194:148::o:0;12726:118::-;12779:4;4117:12;:10;:12::i;:::-;4107:22;;:6;;;;;;;;;;:22;;;4099:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12809:5:::1;12795:11;;:19;;;;;;;;;;;;;;;;;;12832:4;12825:11;;12726:118:::0;:::o;6066:53::-;;;;:::o;3980:79::-;4018:7;4045:6;;;;;;;;;;;4038:13;;3980:79;:::o;6126:55::-;;;;:::o;7140:87::-;7179:13;7212:7;;;;;;;;;;;;;;;;;7205:14;;7140:87;:::o;7556:167::-;7634:4;7651:42;7661:12;:10;:12::i;:::-;7675:9;7686:6;7651:9;:42::i;:::-;7711:4;7704:11;;7556:167;;;;:::o;13293:269::-;13336:4;13361:11;;;;;;;;;;;13353:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;13410:18;13429:21;13410:40;;13475:1;13464:10;:12;13461:72;;;13490:10;;;;;;;;;;;:19;;:31;13510:10;13490:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13461:72;13550:4;13543:11;;;13293:269;:::o;6188:56::-;;;;:::o;13082:203::-;13133:4;4117:12;:10;:12::i;:::-;4107:22;;:6;;;;;;;;;;:22;;;4099:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13159:11:::1;;;;;;;;;;;13158:12;13150:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13222:4;13208:11;;:18;;;;;;;;;;;;;;;;;;13251:4;13237:11;;:18;;;;;;;;;;;;;;;;;;13273:4;13266:11;;13082:203:::0;:::o;7731:143::-;7812:7;7839:11;:18;7851:5;7839:18;;;;;;;;;;;;;;;:27;7858:7;7839:27;;;;;;;;;;;;;;;;7832:34;;7731:143;;;;:::o;12856:218::-;12920:4;4117:12;:10;:12::i;:::-;4107:22;;:6;;;;;;;;;;:22;;;4099:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12952:6:::1;12937:12;:21;;;;12985:6;12969:13;:22;;;;13020:1;13010:6;:11;;13002:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;13062:4;13055:11;;12856:218:::0;;;:::o;1735:98::-;1788:7;1815:10;1808:17;;1735:98;:::o;8372:335::-;8482:1;8465:19;;:5;:19;;;8457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8563:1;8544:21;;:7;:21;;;8536:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8645:6;8615:11;:18;8627:5;8615:18;;;;;;;;;;;;;;;:27;8634:7;8615:27;;;;;;;;;;;;;;;:36;;;;8683:7;8667:32;;8676:5;8667:32;;;8692:6;8667:32;;;;;;:::i;:::-;;;;;;;;8372:335;;;:::o;8715:2461::-;8819:1;8803:18;;:4;:18;;;8795:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8896:1;8882:16;;:2;:16;;;8874:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8966:1;8957:6;:10;8949:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9024:17;9068:7;:5;:7::i;:::-;9060:15;;:4;:15;;;;:32;;;;;9085:7;:5;:7::i;:::-;9079:13;;:2;:13;;;;9060:32;9056:1764;;;9117:11;;;;;;;;;;;9112:197;;9178:18;:24;9197:4;9178:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9206:18;:22;9225:2;9206:22;;;;;;;;;;;;;;;;;;;;;;;;;9178:50;9149:144;;;;;;;;;;;;:::i;:::-;;;;;;;;;9112:197;9337:13;;;;;;;;;;;9329:21;;:4;:21;;;:55;;;;;9368:15;;;;;;;;;;;9354:30;;:2;:30;;;;9329:55;:83;;;;;9390:18;:22;9409:2;9390:22;;;;;;;;;;;;;;;;;;;;;;;;;9388:24;9329:83;9325:377;;;9438:11;;;;;;;;;;;9434:222;;;9492:12;;9482:6;:22;;9474:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9591:14;;9581:6;9565:13;9575:2;9565:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9557:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9434:222;9675:9;;:11;;;;;;;;;:::i;:::-;;;;;;9325:377;9741:13;;;;;;;;;;;9735:19;;:2;:19;;;:43;;;;;9773:4;9758:20;;:4;:20;;;;9735:43;9730:471;;;9811:138;9927:3;9811:111;9852:16;;9842:9;;:26;9841:80;;9906:15;;9841:80;;;9892:13;;9841:80;9811:6;:10;;:111;;;;:::i;:::-;:115;;:138;;;;:::i;:::-;9799:150;;9730:471;;;9983:13;;;;;;;;;;;9975:21;;:4;:21;;;:43;;;;;10013:4;10000:18;;:2;:18;;;;9975:43;9971:230;;;10051:134;10163:3;10051:107;10091:15;;10081:9;;:25;10080:77;;10143:14;;10080:77;;;10130:12;;10080:77;10051:6;:10;;:107;;;;:::i;:::-;:111;;:134;;;;:::i;:::-;10039:146;;9971:230;9730:471;10217:28;10248:24;10266:4;10248:9;:24::i;:::-;10217:55;;10310:6;;;;;;;;;;;10309:7;:48;;;;;10344:13;;;;;;;;;;;10338:19;;:2;:19;;;10309:48;:81;;;;;10379:11;;;;;;;;;;;10309:81;:141;;;;;10433:17;;10412:20;:38;10309:141;:191;;;;;10482:18;;10472:9;;:28;10309:191;10287:522;;;10534:67;10551:49;10555:6;10562:37;10566:20;10587:11;;10562:3;:37::i;:::-;10551:3;:49::i;:::-;10534:16;:67::i;:::-;10620:26;10649:21;10620:50;;10713:1;10692:18;:22;10689:105;;;10739:35;10752:21;10739:12;:35::i;:::-;10689:105;10515:294;10287:522;9094:1726;9056:1764;10845:1;10835:9;:11;10832:161;;;10885:39;10914:9;10885;:24;10903:4;10885:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10860:9;:24;10878:4;10860:24;;;;;;;;;;;;;;;:64;;;;10965:4;10942:39;;10951:4;10942:39;;;10971:9;10942:39;;;;;;:::i;:::-;;;;;;;;10832:161;11019:27;11039:6;11019:9;:15;11029:4;11019:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11003:9;:15;11013:4;11003:15;;;;;;;;;;;;;;;:43;;;;11071:40;11089:21;11100:9;11089:6;:10;;:21;;;;:::i;:::-;11071:9;:13;11081:2;11071:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11057:9;:13;11067:2;11057:13;;;;;;;;;;;;;;;:54;;;;11142:2;11127:41;;11136:4;11127:41;;;11146:21;11157:9;11146:6;:10;;:21;;;;:::i;:::-;11127:41;;;;;;:::i;:::-;;;;;;;;8784:2392;8715:2461;;;:::o;2872:190::-;2958:7;2991:1;2986;:6;;2994:12;2978:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3018:9;3034:1;3030;:5;;;;:::i;:::-;3018:17;;3053:1;3046:8;;;2872:190;;;;;:::o;3070:246::-;3128:7;3157:1;3152;:6;3148:47;;3182:1;3175:8;;;;3148:47;3205:9;3221:1;3217;:5;;;;:::i;:::-;3205:17;;3250:1;3245;3241;:5;;;;:::i;:::-;:10;3233:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3307:1;3300:8;;;3070:246;;;;;:::o;3324:132::-;3382:7;3409:39;3413:1;3416;3409:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3402:46;;3324:132;;;;:::o;2728:136::-;2786:7;2813:43;2817:1;2820;2813:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2806:50;;2728:136;;;;:::o;11284:98::-;11341:7;11368:1;11366;:3;11365:9;;11373:1;11365:9;;;11371:1;11365:9;11358:16;;11284:98;;;;:::o;11390:483::-;6581:4;6572:6;;:13;;;;;;;;;;;;;;;;;;11468:21:::1;11506:1;11492:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11468:40;;11537:4;11519;11524:1;11519:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11563:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11553:4;11558:1;11553:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11596:62;11613:4;11628:15;;;;;;;;;;;11646:11;11596:8;:62::i;:::-;11669:15;;;;;;;;;;;:66;;;11750:11;11776:1;11792:4;11819;11839:15;11669:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11457:416;6617:5:::0;6608:6;;:14;;;;;;;;;;;;;;;;;;11390:483;:::o;11184:92::-;11241:10;;;;;;;;;;;:19;;:27;11261:6;11241:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11184:92;:::o;2541:179::-;2599:7;2619:9;2635:1;2631;:5;;;;:::i;:::-;2619:17;;2660:1;2655;:6;;2647:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2711:1;2704:8;;;2541:179;;;;:::o;3464:189::-;3550:7;3582:1;3578;:5;3585:12;3570:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3609:9;3625:1;3621;:5;;;;:::i;:::-;3609:17;;3644:1;3637:8;;;3464:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::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:329::-;6079:6;6128:2;6116:9;6107:7;6103:23;6099:32;6096:119;;;6134:79;;:::i;:::-;6096:119;6254:1;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6225:117;6020:329;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:102;6583:8;6630:5;6627:1;6623:13;6602:34;;6541:102;;;:::o;6649:848::-;6710:5;6717:4;6741:6;6732:15;;6765:5;6756:14;;6779:712;6800:1;6790:8;6787:15;6779:712;;;6895:4;6890:3;6886:14;6880:4;6877:24;6874:50;;;6904:18;;:::i;:::-;6874:50;6954:1;6944:8;6940:16;6937:451;;;7369:4;7362:5;7358:16;7349:25;;6937:451;7419:4;7413;7409:15;7401:23;;7449:32;7472:8;7449:32;:::i;:::-;7437:44;;6779:712;;;6649:848;;;;;;;:::o;7503:1073::-;7557:5;7748:8;7738:40;;7769:1;7760:10;;7771:5;;7738:40;7797:4;7787:36;;7814:1;7805:10;;7816:5;;7787:36;7883:4;7931:1;7926:27;;;;7967:1;7962:191;;;;7876:277;;7926:27;7944:1;7935:10;;7946:5;;;7962:191;8007:3;7997:8;7994:17;7991:43;;;8014:18;;:::i;:::-;7991:43;8063:8;8060:1;8056:16;8047:25;;8098:3;8091:5;8088:14;8085:40;;;8105:18;;:::i;:::-;8085:40;8138:5;;;7876:277;;8262:2;8252:8;8249:16;8243:3;8237:4;8234:13;8230:36;8212:2;8202:8;8199:16;8194:2;8188:4;8185:12;8181:35;8165:111;8162:246;;;8318:8;8312:4;8308:19;8299:28;;8353:3;8346:5;8343:14;8340:40;;;8360:18;;:::i;:::-;8340:40;8393:5;;8162:246;8433:42;8471:3;8461:8;8455:4;8452:1;8433:42;:::i;:::-;8418:57;;;;8507:4;8502:3;8498:14;8491:5;8488:25;8485:51;;;8516:18;;:::i;:::-;8485:51;8565:4;8558:5;8554:16;8545:25;;7503:1073;;;;;;:::o;8582:281::-;8640:5;8664:23;8682:4;8664:23;:::i;:::-;8656:31;;8708:25;8724:8;8708:25;:::i;:::-;8696:37;;8752:104;8789:66;8779:8;8773:4;8752:104;:::i;:::-;8743:113;;8582:281;;;;:::o;8869:410::-;8909:7;8932:20;8950:1;8932:20;:::i;:::-;8927:25;;8966:20;8984:1;8966:20;:::i;:::-;8961:25;;9021:1;9018;9014:9;9043:30;9061:11;9043:30;:::i;:::-;9032:41;;9222:1;9213:7;9209:15;9206:1;9203:22;9183:1;9176:9;9156:83;9133:139;;9252:18;;:::i;:::-;9133:139;8917:362;8869:410;;;;:::o;9285:182::-;9425:34;9421:1;9413:6;9409:14;9402:58;9285:182;:::o;9473:366::-;9615:3;9636:67;9700:2;9695:3;9636:67;:::i;:::-;9629:74;;9712:93;9801:3;9712:93;:::i;:::-;9830:2;9825:3;9821:12;9814:19;;9473:366;;;:::o;9845:419::-;10011:4;10049:2;10038:9;10034:18;10026:26;;10098:9;10092:4;10088:20;10084:1;10073:9;10069:17;10062:47;10126:131;10252:4;10126:131;:::i;:::-;10118:139;;9845:419;;;:::o;10270:176::-;10410:28;10406:1;10398:6;10394:14;10387:52;10270:176;:::o;10452:366::-;10594:3;10615:67;10679:2;10674:3;10615:67;:::i;:::-;10608:74;;10691:93;10780:3;10691:93;:::i;:::-;10809:2;10804:3;10800:12;10793:19;;10452:366;;;:::o;10824:419::-;10990:4;11028:2;11017:9;11013:18;11005:26;;11077:9;11071:4;11067:20;11063:1;11052:9;11048:17;11041:47;11105:131;11231:4;11105:131;:::i;:::-;11097:139;;10824:419;;;:::o;11249:143::-;11306:5;11337:6;11331:13;11322:22;;11353:33;11380:5;11353:33;:::i;:::-;11249:143;;;;:::o;11398:351::-;11468:6;11517:2;11505:9;11496:7;11492:23;11488:32;11485:119;;;11523:79;;:::i;:::-;11485:119;11643:1;11668:64;11724:7;11715:6;11704:9;11700:22;11668:64;:::i;:::-;11658:74;;11614:128;11398:351;;;;:::o;11755:332::-;11876:4;11914:2;11903:9;11899:18;11891:26;;11927:71;11995:1;11984:9;11980:17;11971:6;11927:71;:::i;:::-;12008:72;12076:2;12065:9;12061:18;12052:6;12008:72;:::i;:::-;11755:332;;;;;:::o;12093:85::-;12138:7;12167:5;12156:16;;12093:85;;;:::o;12184:60::-;12212:3;12233:5;12226:12;;12184:60;;;:::o;12250:158::-;12308:9;12341:61;12359:42;12368:32;12394:5;12368:32;:::i;:::-;12359:42;:::i;:::-;12341:61;:::i;:::-;12328:74;;12250:158;;;:::o;12414:147::-;12509:45;12548:5;12509:45;:::i;:::-;12504:3;12497:58;12414:147;;:::o;12567:807::-;12816:4;12854:3;12843:9;12839:19;12831:27;;12868:71;12936:1;12925:9;12921:17;12912:6;12868:71;:::i;:::-;12949:72;13017:2;13006:9;13002:18;12993:6;12949:72;:::i;:::-;13031:80;13107:2;13096:9;13092:18;13083:6;13031:80;:::i;:::-;13121;13197:2;13186:9;13182:18;13173:6;13121:80;:::i;:::-;13211:73;13279:3;13268:9;13264:19;13255:6;13211:73;:::i;:::-;13294;13362:3;13351:9;13347:19;13338:6;13294:73;:::i;:::-;12567:807;;;;;;;;;:::o;13380:143::-;13437:5;13468:6;13462:13;13453:22;;13484:33;13511:5;13484:33;:::i;:::-;13380:143;;;;:::o;13529:663::-;13617:6;13625;13633;13682:2;13670:9;13661:7;13657:23;13653:32;13650:119;;;13688:79;;:::i;:::-;13650:119;13808:1;13833:64;13889:7;13880:6;13869:9;13865:22;13833:64;:::i;:::-;13823:74;;13779:128;13946:2;13972:64;14028:7;14019:6;14008:9;14004:22;13972:64;:::i;:::-;13962:74;;13917:129;14085:2;14111:64;14167:7;14158:6;14147:9;14143:22;14111:64;:::i;:::-;14101:74;;14056:129;13529:663;;;;;:::o;14198:332::-;14319:4;14357:2;14346:9;14342:18;14334:26;;14370:71;14438:1;14427:9;14423:17;14414:6;14370:71;:::i;:::-;14451:72;14519:2;14508:9;14504:18;14495:6;14451:72;:::i;:::-;14198:332;;;;;:::o;14536:116::-;14606:21;14621:5;14606:21;:::i;:::-;14599:5;14596:32;14586:60;;14642:1;14639;14632:12;14586:60;14536:116;:::o;14658:137::-;14712:5;14743:6;14737:13;14728:22;;14759:30;14783:5;14759:30;:::i;:::-;14658:137;;;;:::o;14801:345::-;14868:6;14917:2;14905:9;14896:7;14892:23;14888:32;14885:119;;;14923:79;;:::i;:::-;14885:119;15043:1;15068:61;15121:7;15112:6;15101:9;15097:22;15068:61;:::i;:::-;15058:71;;15014:125;14801:345;;;;:::o;15152:173::-;15292:25;15288:1;15280:6;15276:14;15269:49;15152:173;:::o;15331:366::-;15473:3;15494:67;15558:2;15553:3;15494:67;:::i;:::-;15487:74;;15570:93;15659:3;15570:93;:::i;:::-;15688:2;15683:3;15679:12;15672:19;;15331:366;;;:::o;15703:419::-;15869:4;15907:2;15896:9;15892:18;15884:26;;15956:9;15950:4;15946:20;15942:1;15931:9;15927:17;15920:47;15984:131;16110:4;15984:131;:::i;:::-;15976:139;;15703:419;;;:::o;16128:173::-;16268:25;16264:1;16256:6;16252:14;16245:49;16128:173;:::o;16307:366::-;16449:3;16470:67;16534:2;16529:3;16470:67;:::i;:::-;16463:74;;16546:93;16635:3;16546:93;:::i;:::-;16664:2;16659:3;16655:12;16648:19;;16307:366;;;:::o;16679:419::-;16845:4;16883:2;16872:9;16868:18;16860:26;;16932:9;16926:4;16922:20;16918:1;16907:9;16903:17;16896:47;16960:131;17086:4;16960:131;:::i;:::-;16952:139;;16679:419;;;:::o;17104:169::-;17244:21;17240:1;17232:6;17228:14;17221:45;17104:169;:::o;17279:366::-;17421:3;17442:67;17506:2;17501:3;17442:67;:::i;:::-;17435:74;;17518:93;17607:3;17518:93;:::i;:::-;17636:2;17631:3;17627:12;17620:19;;17279:366;;;:::o;17651:419::-;17817:4;17855:2;17844:9;17840:18;17832:26;;17904:9;17898:4;17894:20;17890:1;17879:9;17875:17;17868:47;17932:131;18058:4;17932:131;:::i;:::-;17924:139;;17651:419;;;:::o;18076:223::-;18216:34;18212:1;18204:6;18200:14;18193:58;18285:6;18280:2;18272:6;18268:15;18261:31;18076:223;:::o;18305:366::-;18447:3;18468:67;18532:2;18527:3;18468:67;:::i;:::-;18461:74;;18544:93;18633:3;18544:93;:::i;:::-;18662:2;18657:3;18653:12;18646:19;;18305:366;;;:::o;18677:419::-;18843:4;18881:2;18870:9;18866:18;18858:26;;18930:9;18924:4;18920:20;18916:1;18905:9;18901:17;18894:47;18958:131;19084:4;18958:131;:::i;:::-;18950:139;;18677:419;;;:::o;19102:221::-;19242:34;19238:1;19230:6;19226:14;19219:58;19311:4;19306:2;19298:6;19294:15;19287:29;19102:221;:::o;19329:366::-;19471:3;19492:67;19556:2;19551:3;19492:67;:::i;:::-;19485:74;;19568:93;19657:3;19568:93;:::i;:::-;19686:2;19681:3;19677:12;19670:19;;19329:366;;;:::o;19701:419::-;19867:4;19905:2;19894:9;19890:18;19882:26;;19954:9;19948:4;19944:20;19940:1;19929:9;19925:17;19918:47;19982:131;20108:4;19982:131;:::i;:::-;19974:139;;19701:419;;;:::o;20126:224::-;20266:34;20262:1;20254:6;20250:14;20243:58;20335:7;20330:2;20322:6;20318:15;20311:32;20126:224;:::o;20356:366::-;20498:3;20519:67;20583:2;20578:3;20519:67;:::i;:::-;20512:74;;20595:93;20684:3;20595:93;:::i;:::-;20713:2;20708:3;20704:12;20697:19;;20356:366;;;:::o;20728:419::-;20894:4;20932:2;20921:9;20917:18;20909:26;;20981:9;20975:4;20971:20;20967:1;20956:9;20952:17;20945:47;21009:131;21135:4;21009:131;:::i;:::-;21001:139;;20728:419;;;:::o;21153:222::-;21293:34;21289:1;21281:6;21277:14;21270:58;21362:5;21357:2;21349:6;21345:15;21338:30;21153:222;:::o;21381:366::-;21523:3;21544:67;21608:2;21603:3;21544:67;:::i;:::-;21537:74;;21620:93;21709:3;21620:93;:::i;:::-;21738:2;21733:3;21729:12;21722:19;;21381:366;;;:::o;21753:419::-;21919:4;21957:2;21946:9;21942:18;21934:26;;22006:9;22000:4;21996:20;21992:1;21981:9;21977:17;21970:47;22034:131;22160:4;22034:131;:::i;:::-;22026:139;;21753:419;;;:::o;22178:228::-;22318:34;22314:1;22306:6;22302:14;22295:58;22387:11;22382:2;22374:6;22370:15;22363:36;22178:228;:::o;22412:366::-;22554:3;22575:67;22639:2;22634:3;22575:67;:::i;:::-;22568:74;;22651:93;22740:3;22651:93;:::i;:::-;22769:2;22764:3;22760:12;22753:19;;22412:366;;;:::o;22784:419::-;22950:4;22988:2;22977:9;22973:18;22965:26;;23037:9;23031:4;23027:20;23023:1;23012:9;23008:17;23001:47;23065:131;23191:4;23065:131;:::i;:::-;23057:139;;22784:419;;;:::o;23209:175::-;23349:27;23345:1;23337:6;23333:14;23326:51;23209:175;:::o;23390:366::-;23532:3;23553:67;23617:2;23612:3;23553:67;:::i;:::-;23546:74;;23629:93;23718:3;23629:93;:::i;:::-;23747:2;23742:3;23738:12;23731:19;;23390:366;;;:::o;23762:419::-;23928:4;23966:2;23955:9;23951:18;23943:26;;24015:9;24009:4;24005:20;24001:1;23990:9;23986:17;23979:47;24043:131;24169:4;24043:131;:::i;:::-;24035:139;;23762:419;;;:::o;24187:191::-;24227:3;24246:20;24264:1;24246:20;:::i;:::-;24241:25;;24280:20;24298:1;24280:20;:::i;:::-;24275:25;;24323:1;24320;24316:9;24309:16;;24344:3;24341:1;24338:10;24335:36;;;24351:18;;:::i;:::-;24335:36;24187:191;;;;:::o;24384:176::-;24524:28;24520:1;24512:6;24508:14;24501:52;24384:176;:::o;24566:366::-;24708:3;24729:67;24793:2;24788:3;24729:67;:::i;:::-;24722:74;;24805:93;24894:3;24805:93;:::i;:::-;24923:2;24918:3;24914:12;24907:19;;24566:366;;;:::o;24938:419::-;25104:4;25142:2;25131:9;25127:18;25119:26;;25191:9;25185:4;25181:20;25177:1;25166:9;25162:17;25155:47;25219:131;25345:4;25219:131;:::i;:::-;25211:139;;24938:419;;;:::o;25363:233::-;25402:3;25425:24;25443:5;25425:24;:::i;:::-;25416:33;;25471:66;25464:5;25461:77;25458:103;;25541:18;;:::i;:::-;25458:103;25588:1;25581:5;25577:13;25570:20;;25363:233;;;:::o;25602:194::-;25642:4;25662:20;25680:1;25662:20;:::i;:::-;25657:25;;25696:20;25714:1;25696:20;:::i;:::-;25691:25;;25740:1;25737;25733:9;25725:17;;25764:1;25758:4;25755:11;25752:37;;;25769:18;;:::i;:::-;25752:37;25602:194;;;;:::o;25802:180::-;25850:77;25847:1;25840:88;25947:4;25944:1;25937:15;25971:4;25968:1;25961:15;25988:185;26028:1;26045:20;26063:1;26045:20;:::i;:::-;26040:25;;26079:20;26097:1;26079:20;:::i;:::-;26074:25;;26118:1;26108:35;;26123:18;;:::i;:::-;26108:35;26165:1;26162;26158:9;26153:14;;25988:185;;;;:::o;26179:220::-;26319:34;26315:1;26307:6;26303:14;26296:58;26388:3;26383:2;26375:6;26371:15;26364:28;26179:220;:::o;26405:366::-;26547:3;26568:67;26632:2;26627:3;26568:67;:::i;:::-;26561:74;;26644:93;26733:3;26644:93;:::i;:::-;26762:2;26757:3;26753:12;26746:19;;26405:366;;;:::o;26777:419::-;26943:4;26981:2;26970:9;26966:18;26958:26;;27030:9;27024:4;27020:20;27016:1;27005:9;27001:17;26994:47;27058:131;27184:4;27058:131;:::i;:::-;27050:139;;26777:419;;;:::o;27202:180::-;27250:77;27247:1;27240:88;27347:4;27344:1;27337:15;27371:4;27368:1;27361:15;27388:180;27436:77;27433:1;27426:88;27533:4;27530:1;27523:15;27557:4;27554:1;27547:15;27574:114;27641:6;27675:5;27669:12;27659:22;;27574:114;;;:::o;27694:184::-;27793:11;27827:6;27822:3;27815:19;27867:4;27862:3;27858:14;27843:29;;27694:184;;;;:::o;27884:132::-;27951:4;27974:3;27966:11;;28004:4;27999:3;27995:14;27987:22;;27884:132;;;:::o;28022:108::-;28099:24;28117:5;28099:24;:::i;:::-;28094:3;28087:37;28022:108;;:::o;28136:179::-;28205:10;28226:46;28268:3;28260:6;28226:46;:::i;:::-;28304:4;28299:3;28295:14;28281:28;;28136:179;;;;:::o;28321:113::-;28391:4;28423;28418:3;28414:14;28406:22;;28321:113;;;:::o;28470:732::-;28589:3;28618:54;28666:5;28618:54;:::i;:::-;28688:86;28767:6;28762:3;28688:86;:::i;:::-;28681:93;;28798:56;28848:5;28798:56;:::i;:::-;28877:7;28908:1;28893:284;28918:6;28915:1;28912:13;28893:284;;;28994:6;28988:13;29021:63;29080:3;29065:13;29021:63;:::i;:::-;29014:70;;29107:60;29160:6;29107:60;:::i;:::-;29097:70;;28953:224;28940:1;28937;28933:9;28928:14;;28893:284;;;28897:14;29193:3;29186:10;;28594:608;;;28470:732;;;;:::o;29208:831::-;29471:4;29509:3;29498:9;29494:19;29486:27;;29523:71;29591:1;29580:9;29576:17;29567:6;29523:71;:::i;:::-;29604:80;29680:2;29669:9;29665:18;29656:6;29604:80;:::i;:::-;29731:9;29725:4;29721:20;29716:2;29705:9;29701:18;29694:48;29759:108;29862:4;29853:6;29759:108;:::i;:::-;29751:116;;29877:72;29945:2;29934:9;29930:18;29921:6;29877:72;:::i;:::-;29959:73;30027:3;30016:9;30012:19;30003:6;29959:73;:::i;:::-;29208:831;;;;;;;;:::o;30045:177::-;30185:29;30181:1;30173:6;30169:14;30162:53;30045:177;:::o;30228:366::-;30370:3;30391:67;30455:2;30450:3;30391:67;:::i;:::-;30384:74;;30467:93;30556:3;30467:93;:::i;:::-;30585:2;30580:3;30576:12;30569:19;;30228:366;;;:::o;30600:419::-;30766:4;30804:2;30793:9;30789:18;30781:26;;30853:9;30847:4;30843:20;30839:1;30828:9;30824:17;30817:47;30881:131;31007:4;30881:131;:::i;:::-;30873:139;;30600:419;;;:::o
Swarm Source
ipfs://e59c8e495f2f25933fa9b07c3fa10ff465847010af599332b456c6714a68923b
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.