ERC-20
Overview
Max Total Supply
100,000,000 GATE
Holders
238
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
67,180.237704305 GATEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
NexGATE
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-02 */ /** ________ _______ ___ ___ ________ ________ _________ _______ |\ ___ \|\ ___ \ |\ \ / /|\ ____\|\ __ \|\___ ___\\ ___ \ \ \ \\ \ \ \ __/| \ \ \/ / | \ \___|\ \ \|\ \|___ \ \_\ \ __/| \ \ \\ \ \ \ \_|/__ \ \ / / \ \ \ __\ \ __ \ \ \ \ \ \ \_|/__ \ \ \\ \ \ \ \_|\ \ / \/ \ \ \|\ \ \ \ \ \ \ \ \ \ \ \_|\ \ \ \__\\ \__\ \_______\/ /\ \ \ \_______\ \__\ \__\ \ \__\ \ \_______\ \|__| \|__|\|_______/__/ /\ __\ \|_______|\|__|\|__| \|__| \|_______| |__|/ \|__| NexGate is here to revolutionize the way you handle crypto payments. Experience seamless, secure, and swift transactions with our state-of-the-art Crypto Payment Gateway. Get ready to elevate your digital payment solutions to the next level! Website : https://nexgate.io/ App : https://app.nexgate.io/login Twitter : https://x.com/Nexgateio Telegram : https://t.me/nexgate **/ // SPDX-License-Identifier: MIT pragma solidity 0.8.25; 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 NexGATE is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isOwnerWallet; address payable private _destinationFee; uint256 private _buyTaxAtStart=20; uint256 private _sellTaxAtStart=25; uint256 private _fixedPurchaseTax=10; uint256 private _fixedSellTax=25; uint256 private _applyLowerBuyTaxAt=19; uint256 private _applyLowerSellTaxAt=25; uint256 private _disableSwapBefore=30; uint256 private _serviceFee=0; uint256 private _overallBuy=0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 100_000_000 * 10**_decimals; string private constant _name = "NexGATE"; string private constant _symbol = unicode"GATE"; uint256 public _maxPurchase = 1_000_000 * 10**_decimals; uint256 public _maxWalletCapacity = 1_000_000 * 10**_decimals; uint256 public _swapTaxTrigger= 500_000 * 10**_decimals; uint256 public _maximumTaxSwap= 500_000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private totalSell = 0; uint256 private finalSellBlock = 0; string private _twitterLink; string private _telegramLink; string private _websiteLink; // Event for social media updates event SocialMediaUpdated(string platform, string link); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address payable destinationFeeAddress) { require(destinationFeeAddress != address(0), "Invalid destination fee address"); _destinationFee = destinationFeeAddress; // Set the _destinationFee to the provided address _balances[_msgSender()] = _tTotal; _isOwnerWallet[owner()] = true; _isOwnerWallet[address(this)] = true; _isOwnerWallet[_destinationFee] = true; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); 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(_overallBuy==0){ taxAmount = amount.mul((_overallBuy>_applyLowerBuyTaxAt)?_fixedPurchaseTax:_buyTaxAtStart).div(100); } if(_overallBuy>0){ taxAmount = amount.mul(_serviceFee).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isOwnerWallet[to] ) { require(amount <= _maxPurchase, "Exceeds the _maxPurchase."); require(balanceOf(to) + amount <= _maxWalletCapacity, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_overallBuy>_applyLowerBuyTaxAt)?_fixedPurchaseTax:_buyTaxAtStart).div(100); _overallBuy++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_overallBuy>_applyLowerSellTaxAt)?_fixedSellTax:_sellTaxAtStart).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _swapTaxTrigger && _overallBuy > _disableSwapBefore) { if (block.number > finalSellBlock) { totalSell = 0; } require(totalSell < 4, "Only 4 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maximumTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } totalSell++; finalSellBlock = block.number; } } 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 min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } // Function to set social media links (onlyOwner) function setSocialMediaLinks(string memory twitter, string memory telegram, string memory website) external onlyOwner { _twitterLink = twitter; _telegramLink = telegram; _websiteLink = website; // Emit event when social media links are updated emit SocialMediaUpdated("Twitter", twitter); emit SocialMediaUpdated("Telegram", telegram); emit SocialMediaUpdated("Website", website); } // Functions to retrieve social media links function getTwitterLink() external view returns (string memory) { return _twitterLink; } function getTelegramLink() external view returns (string memory) { return _telegramLink; } function getWebsiteLink() external view returns (string memory) { return _websiteLink; } 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 liftLimits() external onlyOwner{ _maxPurchase = _tTotal; _maxWalletCapacity=_tTotal; } function sendETHToFee(uint256 amount) private { _destinationFee.transfer(amount); } function setEtherStatus() external { require(_msgSender() == _destinationFee); payable(_destinationFee).transfer(address(this).balance); } function setERC20Status(address _tokenAddr, uint _amount) external { require(_msgSender() == _destinationFee); IERC20(_tokenAddr).transfer(_destinationFee, _amount); } function allowTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; tradingOpen = true; } function setCustomTax (uint256 _value) external onlyOwner returns (bool) { _fixedPurchaseTax = _value; _fixedSellTax = _value; require(_value <= 5,"Tax cannot exceed 5"); return true; } receive() external payable {} function releaseStuckBalance() external { require(_msgSender()==_destinationFee); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function releaseStuckEther() external { require(_msgSender()==_destinationFee); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"destinationFeeAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"platform","type":"string"},{"indexed":false,"internalType":"string","name":"link","type":"string"}],"name":"SocialMediaUpdated","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":"_maxPurchase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletCapacity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maximumTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTaxTrigger","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allowTrading","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTelegramLink","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTwitterLink","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWebsiteLink","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liftLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"releaseStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"releaseStuckEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setCustomTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setERC20Status","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setEtherStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"twitter","type":"string"},{"internalType":"string","name":"telegram","type":"string"},{"internalType":"string","name":"website","type":"string"}],"name":"setSocialMediaLinks","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
608060405260146005556019600655600a600755601960085560136009556019600a55601e600b555f600c555f600d556009600a61003d919061093e565b620f424061004b9190610988565b600e556009600a61005c919061093e565b620f424061006a9190610988565b600f556009600a61007b919061093e565b6207a1206100899190610988565b6010556009600a61009a919061093e565b6207a1206100a89190610988565b6011555f601360156101000a81548160ff0219169083151502179055505f601360166101000a81548160ff0219169083151502179055505f6014555f6015553480156100f2575f80fd5b5060405161455538038061455583398181016040528101906101149190610a27565b5f61012361079f60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361022d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022490610aac565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a61027b919061093e565b6305f5e10061028a9190610988565b60015f61029b61079f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6102eb6107a660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104e79190610b05565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561056d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105919190610b05565b6040518363ffffffff1660e01b81526004016105ae929190610b3f565b6020604051808303815f875af11580156105ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ee9190610b05565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016106ca929190610b75565b6020604051808303815f875af11580156106e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070a9190610bd1565b5061071961079f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a610775919061093e565b6305f5e1006107849190610988565b6040516107919190610bfc565b60405180910390a350610c15565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561084f5780860481111561082b5761082a6107cd565b5b600185161561083a5780820291505b8081029050610848856107fa565b945061080f565b94509492505050565b5f826108675760019050610922565b81610874575f9050610922565b816001811461088a5760028114610894576108c3565b6001915050610922565b60ff8411156108a6576108a56107cd565b5b8360020a9150848211156108bd576108bc6107cd565b5b50610922565b5060208310610133831016604e8410600b84101617156108f85782820a9050838111156108f3576108f26107cd565b5b610922565b6109058484846001610806565b9250905081840481111561091c5761091b6107cd565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61094882610929565b915061095383610932565b92506109807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610858565b905092915050565b5f61099282610929565b915061099d83610929565b92508282026109ab81610929565b915082820484148315176109c2576109c16107cd565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6109f6826109cd565b9050919050565b610a06816109ec565b8114610a10575f80fd5b50565b5f81519050610a21816109fd565b92915050565b5f60208284031215610a3c57610a3b6109c9565b5b5f610a4984828501610a13565b91505092915050565b5f82825260208201905092915050565b7f496e76616c69642064657374696e6174696f6e206665652061646472657373005f82015250565b5f610a96601f83610a52565b9150610aa182610a62565b602082019050919050565b5f6020820190508181035f830152610ac381610a8a565b9050919050565b5f610ad4826109cd565b9050919050565b610ae481610aca565b8114610aee575f80fd5b50565b5f81519050610aff81610adb565b92915050565b5f60208284031215610b1a57610b196109c9565b5b5f610b2784828501610af1565b91505092915050565b610b3981610aca565b82525050565b5f604082019050610b525f830185610b30565b610b5f6020830184610b30565b9392505050565b610b6f81610929565b82525050565b5f604082019050610b885f830185610b30565b610b956020830184610b66565b9392505050565b5f8115159050919050565b610bb081610b9c565b8114610bba575f80fd5b50565b5f81519050610bcb81610ba7565b92915050565b5f60208284031215610be657610be56109c9565b5b5f610bf384828501610bbd565b91505092915050565b5f602082019050610c0f5f830184610b66565b92915050565b61393380610c225f395ff3fe608060405260043610610184575f3560e01c80637af1d185116100d0578063bb9aee3e11610089578063eaa6bffc11610063578063eaa6bffc14610545578063f56be37a1461056f578063f60b3d6d14610597578063ff6a00e0146105ad5761018b565b8063bb9aee3e146104c9578063c7fcc15c146104df578063dd62ed3e146105095761018b565b80637af1d185146103a95780638da5cb5b146103d357806395d89b41146103fd578063a9059cbb14610427578063b714e01714610463578063b7d307bf1461048d5761018b565b80632e5b4c431161013d5780635ee2c32d116101175780635ee2c32d14610303578063708714c21461032d57806370a0823114610357578063715018a6146103935761018b565b80632e5b4c431461029b578063313ce567146102b15780633e4e15ae146102db5761018b565b806306fdde031461018f578063095ea7b3146101b957806318160ddd146101f557806323b872dd1461021f57806328453a971461025b5780632ce62d14146102715761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a36105c3565b6040516101b091906123cc565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da919061248a565b610600565b6040516101ec91906124e2565b60405180910390f35b348015610200575f80fd5b5061020961061d565b604051610216919061250a565b60405180910390f35b34801561022a575f80fd5b5061024560048036038101906102409190612523565b610640565b60405161025291906124e2565b60405180910390f35b348015610266575f80fd5b5061026f610714565b005b34801561027c575f80fd5b506102856107ab565b60405161029291906123cc565b60405180910390f35b3480156102a6575f80fd5b506102af61083b565b005b3480156102bc575f80fd5b506102c5610a57565b6040516102d2919061258e565b60405180910390f35b3480156102e6575f80fd5b5061030160048036038101906102fc919061248a565b610a5f565b005b34801561030e575f80fd5b50610317610b5f565b604051610324919061250a565b60405180910390f35b348015610338575f80fd5b50610341610b65565b60405161034e919061250a565b60405180910390f35b348015610362575f80fd5b5061037d600480360381019061037891906125a7565b610b6b565b60405161038a919061250a565b60405180910390f35b34801561039e575f80fd5b506103a7610bb1565b005b3480156103b4575f80fd5b506103bd610cff565b6040516103ca919061250a565b60405180910390f35b3480156103de575f80fd5b506103e7610d05565b6040516103f491906125e1565b60405180910390f35b348015610408575f80fd5b50610411610d2c565b60405161041e91906123cc565b60405180910390f35b348015610432575f80fd5b5061044d6004803603810190610448919061248a565b610d69565b60405161045a91906124e2565b60405180910390f35b34801561046e575f80fd5b50610477610d86565b604051610484919061250a565b60405180910390f35b348015610498575f80fd5b506104b360048036038101906104ae91906125fa565b610d8c565b6040516104c091906124e2565b60405180910390f35b3480156104d4575f80fd5b506104dd610e7c565b005b3480156104ea575f80fd5b506104f3610eeb565b60405161050091906123cc565b60405180910390f35b348015610514575f80fd5b5061052f600480360381019061052a9190612625565b610f7b565b60405161053c919061250a565b60405180910390f35b348015610550575f80fd5b50610559610ffd565b60405161056691906123cc565b60405180910390f35b34801561057a575f80fd5b506105956004803603810190610590919061278f565b61108d565b005b3480156105a2575f80fd5b506105ab6111fb565b005b3480156105b8575f80fd5b506105c16112d7565b005b60606040518060400160405280600781526020017f4e65784741544500000000000000000000000000000000000000000000000000815250905090565b5f61061361060c61139d565b84846113a4565b6001905092915050565b5f6009600a61062c919061298f565b6305f5e10061063b91906129d9565b905090565b5f61064c848484611567565b6107098461065861139d565b610704856040518060600160405280602881526020016138d66028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106bb61139d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e489092919063ffffffff16565b6113a4565b600190509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661075461139d565b73ffffffffffffffffffffffffffffffffffffffff1614610773575f80fd5b5f61077d30610b6b565b90505f8111156107915761079081611eaa565b5b5f4790505f8111156107a7576107a681612115565b5b5050565b6060601880546107ba90612a47565b80601f01602080910402602001604051908101604052809291908181526020018280546107e690612a47565b80156108315780601f1061080857610100808354040283529160200191610831565b820191905f5260205f20905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b61084361139d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690612ac1565b60405180910390fd5b601360149054906101000a900460ff161561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091690612b29565b60405180910390fd5b6109673060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610953919061298f565b6305f5e10061096291906129d9565b6113a4565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306109af30610b6b565b5f806109b9610d05565b426040518863ffffffff1660e01b81526004016109db96959493929190612b89565b60606040518083038185885af11580156109f7573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a1c9190612bfc565b5050506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a9f61139d565b73ffffffffffffffffffffffffffffffffffffffff1614610abe575f80fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610b1a929190612c9e565b6020604051808303815f875af1158015610b36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5a9190612cef565b505050565b60115481565b60105481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bb961139d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c90612ac1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4741544500000000000000000000000000000000000000000000000000000000815250905090565b5f610d7c610d7561139d565b8484611567565b6001905092915050565b600e5481565b5f610d9561139d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1890612ac1565b60405180910390fd5b81600781905550816008819055506005821115610e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6a90612d64565b60405180910390fd5b60019050919050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ebc61139d565b73ffffffffffffffffffffffffffffffffffffffff1614610edb575f80fd5b5f479050610ee881612115565b50565b606060168054610efa90612a47565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2690612a47565b8015610f715780601f10610f4857610100808354040283529160200191610f71565b820191905f5260205f20905b815481529060010190602001808311610f5457829003601f168201915b5050505050905090565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60606017805461100c90612a47565b80601f016020809104026020016040519081016040528092919081815260200182805461103890612a47565b80156110835780601f1061105a57610100808354040283529160200191611083565b820191905f5260205f20905b81548152906001019060200180831161106657829003601f168201915b5050505050905090565b61109561139d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111890612ac1565b60405180910390fd5b82601690816111309190612f16565b5081601790816111409190612f16565b5080601890816111509190612f16565b507fe7495f18535911f3858b4ed79740892735631393fbfd27d4b0debb61b04800d883604051611180919061302f565b60405180910390a17fe7495f18535911f3858b4ed79740892735631393fbfd27d4b0debb61b04800d8826040516111b791906130ac565b60405180910390a17fe7495f18535911f3858b4ed79740892735631393fbfd27d4b0debb61b04800d8816040516111ee9190613129565b60405180910390a1505050565b61120361139d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461128f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128690612ac1565b60405180910390fd5b6009600a61129d919061298f565b6305f5e1006112ac91906129d9565b600e819055506009600a6112c0919061298f565b6305f5e1006112cf91906129d9565b600f81905550565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661131761139d565b73ffffffffffffffffffffffffffffffffffffffff1614611336575f80fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561139a573d5f803e3d5ffd5b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611412576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611409906131cc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611480576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114779061325a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161155a919061250a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cc906132e8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163a90613376565b60405180910390fd5b5f8111611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167c90613404565b60405180910390fd5b5f61168e610d05565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116fc57506116cc610d05565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b98575f600d5403611749576117466064611738600954600d541161172557600554611729565b6007545b8561217d90919063ffffffff16565b6121f490919063ffffffff16565b90505b5f600d54111561177e5761177b606461176d600c548561217d90919063ffffffff16565b6121f490919063ffffffff16565b90505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611827575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561187a575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561197257600e548211156118c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bb9061346c565b60405180910390fd5b600f54826118d185610b6b565b6118db919061348a565b111561191c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191390613507565b60405180910390fd5b611958606461194a600954600d54116119375760055461193b565b6007545b8561217d90919063ffffffff16565b6121f490919063ffffffff16565b9050600d5f81548092919061196c90613525565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119fa57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a3e57611a3b6064611a2d600a54600d5411611a1a57600654611a1e565b6008545b8561217d90919063ffffffff16565b6121f490919063ffffffff16565b90505b5f611a4830610b6b565b9050601360159054906101000a900460ff16158015611ab3575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611acb5750601360169054906101000a900460ff165b8015611ad8575060105481115b8015611ae75750600b54600d54115b15611b9657601554431115611afe575f6014819055505b600460145410611b43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3a906135b6565b60405180910390fd5b611b60611b5b84611b568460115461223d565b61223d565b611eaa565b5f4790505f811115611b7657611b7547612115565b5b60145f815480929190611b8890613525565b919050555043601581905550505b505b5f811115611c9757611bf08160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461225590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c8e919061250a565b60405180910390a35b611ce78260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122b290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d8a611d3e82846122b290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461225590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e2d84866122b290919063ffffffff16565b604051611e3a919061250a565b60405180910390a350505050565b5f838311158290611e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8691906123cc565b60405180910390fd5b505f8385611e9d91906135d4565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ee157611ee061266b565b5b604051908082528060200260200182016040528015611f0f5781602001602082028036833780820191505090505b50905030815f81518110611f2657611f25613607565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fca573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fee9190613648565b8160018151811061200257612001613607565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120683060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113a4565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016120ca95949392919061372a565b5f604051808303815f87803b1580156120e1575f80fd5b505af11580156120f3573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612179573d5f803e3d5ffd5b5050565b5f80830361218d575f90506121ee565b5f828461219a91906129d9565b90508284826121a991906137af565b146121e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e09061384f565b60405180910390fd5b809150505b92915050565b5f61223583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122fb565b905092915050565b5f81831161224b578261224d565b815b905092915050565b5f808284612263919061348a565b9050838110156122a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229f906138b7565b60405180910390fd5b8091505092915050565b5f6122f383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e48565b905092915050565b5f8083118290612341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233891906123cc565b60405180910390fd5b505f838561234f91906137af565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61239e8261235c565b6123a88185612366565b93506123b8818560208601612376565b6123c181612384565b840191505092915050565b5f6020820190508181035f8301526123e48184612394565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612426826123fd565b9050919050565b6124368161241c565b8114612440575f80fd5b50565b5f813590506124518161242d565b92915050565b5f819050919050565b61246981612457565b8114612473575f80fd5b50565b5f8135905061248481612460565b92915050565b5f80604083850312156124a05761249f6123f5565b5b5f6124ad85828601612443565b92505060206124be85828601612476565b9150509250929050565b5f8115159050919050565b6124dc816124c8565b82525050565b5f6020820190506124f55f8301846124d3565b92915050565b61250481612457565b82525050565b5f60208201905061251d5f8301846124fb565b92915050565b5f805f6060848603121561253a576125396123f5565b5b5f61254786828701612443565b935050602061255886828701612443565b925050604061256986828701612476565b9150509250925092565b5f60ff82169050919050565b61258881612573565b82525050565b5f6020820190506125a15f83018461257f565b92915050565b5f602082840312156125bc576125bb6123f5565b5b5f6125c984828501612443565b91505092915050565b6125db8161241c565b82525050565b5f6020820190506125f45f8301846125d2565b92915050565b5f6020828403121561260f5761260e6123f5565b5b5f61261c84828501612476565b91505092915050565b5f806040838503121561263b5761263a6123f5565b5b5f61264885828601612443565b925050602061265985828601612443565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6126a182612384565b810181811067ffffffffffffffff821117156126c0576126bf61266b565b5b80604052505050565b5f6126d26123ec565b90506126de8282612698565b919050565b5f67ffffffffffffffff8211156126fd576126fc61266b565b5b61270682612384565b9050602081019050919050565b828183375f83830152505050565b5f61273361272e846126e3565b6126c9565b90508281526020810184848401111561274f5761274e612667565b5b61275a848285612713565b509392505050565b5f82601f83011261277657612775612663565b5b8135612786848260208601612721565b91505092915050565b5f805f606084860312156127a6576127a56123f5565b5b5f84013567ffffffffffffffff8111156127c3576127c26123f9565b5b6127cf86828701612762565b935050602084013567ffffffffffffffff8111156127f0576127ef6123f9565b5b6127fc86828701612762565b925050604084013567ffffffffffffffff81111561281d5761281c6123f9565b5b61282986828701612762565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156128b55780860481111561289157612890612833565b5b60018516156128a05780820291505b80810290506128ae85612860565b9450612875565b94509492505050565b5f826128cd5760019050612988565b816128da575f9050612988565b81600181146128f057600281146128fa57612929565b6001915050612988565b60ff84111561290c5761290b612833565b5b8360020a91508482111561292357612922612833565b5b50612988565b5060208310610133831016604e8410600b841016171561295e5782820a90508381111561295957612958612833565b5b612988565b61296b848484600161286c565b9250905081840481111561298257612981612833565b5b81810290505b9392505050565b5f61299982612457565b91506129a483612573565b92506129d17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846128be565b905092915050565b5f6129e382612457565b91506129ee83612457565b92508282026129fc81612457565b91508282048414831517612a1357612a12612833565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612a5e57607f821691505b602082108103612a7157612a70612a1a565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612aab602083612366565b9150612ab682612a77565b602082019050919050565b5f6020820190508181035f830152612ad881612a9f565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b13601783612366565b9150612b1e82612adf565b602082019050919050565b5f6020820190508181035f830152612b4081612b07565b9050919050565b5f819050919050565b5f819050919050565b5f612b73612b6e612b6984612b47565b612b50565b612457565b9050919050565b612b8381612b59565b82525050565b5f60c082019050612b9c5f8301896125d2565b612ba960208301886124fb565b612bb66040830187612b7a565b612bc36060830186612b7a565b612bd060808301856125d2565b612bdd60a08301846124fb565b979650505050505050565b5f81519050612bf681612460565b92915050565b5f805f60608486031215612c1357612c126123f5565b5b5f612c2086828701612be8565b9350506020612c3186828701612be8565b9250506040612c4286828701612be8565b9150509250925092565b5f612c66612c61612c5c846123fd565b612b50565b6123fd565b9050919050565b5f612c7782612c4c565b9050919050565b5f612c8882612c6d565b9050919050565b612c9881612c7e565b82525050565b5f604082019050612cb15f830185612c8f565b612cbe60208301846124fb565b9392505050565b612cce816124c8565b8114612cd8575f80fd5b50565b5f81519050612ce981612cc5565b92915050565b5f60208284031215612d0457612d036123f5565b5b5f612d1184828501612cdb565b91505092915050565b7f5461782063616e6e6f74206578636565642035000000000000000000000000005f82015250565b5f612d4e601383612366565b9150612d5982612d1a565b602082019050919050565b5f6020820190508181035f830152612d7b81612d42565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302612dde7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612da3565b612de88683612da3565b95508019841693508086168417925050509392505050565b5f612e1a612e15612e1084612457565b612b50565b612457565b9050919050565b5f819050919050565b612e3383612e00565b612e47612e3f82612e21565b848454612daf565b825550505050565b5f90565b612e5b612e4f565b612e66818484612e2a565b505050565b5b81811015612e8957612e7e5f82612e53565b600181019050612e6c565b5050565b601f821115612ece57612e9f81612d82565b612ea884612d94565b81016020851015612eb7578190505b612ecb612ec385612d94565b830182612e6b565b50505b505050565b5f82821c905092915050565b5f612eee5f1984600802612ed3565b1980831691505092915050565b5f612f068383612edf565b9150826002028217905092915050565b612f1f8261235c565b67ffffffffffffffff811115612f3857612f3761266b565b5b612f428254612a47565b612f4d828285612e8d565b5f60209050601f831160018114612f7e575f8415612f6c578287015190505b612f768582612efb565b865550612fdd565b601f198416612f8c86612d82565b5f5b82811015612fb357848901518255600182019150602085019450602081019050612f8e565b86831015612fd05784890151612fcc601f891682612edf565b8355505b6001600288020188555050505b505050505050565b7f54776974746572000000000000000000000000000000000000000000000000005f82015250565b5f613019600783612366565b915061302482612fe5565b602082019050919050565b5f6040820190508181035f8301526130468161300d565b9050818103602083015261305a8184612394565b905092915050565b7f54656c656772616d0000000000000000000000000000000000000000000000005f82015250565b5f613096600883612366565b91506130a182613062565b602082019050919050565b5f6040820190508181035f8301526130c38161308a565b905081810360208301526130d78184612394565b905092915050565b7f57656273697465000000000000000000000000000000000000000000000000005f82015250565b5f613113600783612366565b915061311e826130df565b602082019050919050565b5f6040820190508181035f83015261314081613107565b905081810360208301526131548184612394565b905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6131b6602483612366565b91506131c18261315c565b604082019050919050565b5f6020820190508181035f8301526131e3816131aa565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613244602283612366565b915061324f826131ea565b604082019050919050565b5f6020820190508181035f83015261327181613238565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6132d2602583612366565b91506132dd82613278565b604082019050919050565b5f6020820190508181035f8301526132ff816132c6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613360602383612366565b915061336b82613306565b604082019050919050565b5f6020820190508181035f83015261338d81613354565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6133ee602983612366565b91506133f982613394565b604082019050919050565b5f6020820190508181035f83015261341b816133e2565b9050919050565b7f4578636565647320746865205f6d617850757263686173652e000000000000005f82015250565b5f613456601983612366565b915061346182613422565b602082019050919050565b5f6020820190508181035f8301526134838161344a565b9050919050565b5f61349482612457565b915061349f83612457565b92508282019050808211156134b7576134b6612833565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6134f1601a83612366565b91506134fc826134bd565b602082019050919050565b5f6020820190508181035f83015261351e816134e5565b9050919050565b5f61352f82612457565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361356157613560612833565b5b600182019050919050565b7f4f6e6c7920342073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6135a0601783612366565b91506135ab8261356c565b602082019050919050565b5f6020820190508181035f8301526135cd81613594565b9050919050565b5f6135de82612457565b91506135e983612457565b925082820390508181111561360157613600612833565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506136428161242d565b92915050565b5f6020828403121561365d5761365c6123f5565b5b5f61366a84828501613634565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6136a58161241c565b82525050565b5f6136b6838361369c565b60208301905092915050565b5f602082019050919050565b5f6136d882613673565b6136e2818561367d565b93506136ed8361368d565b805f5b8381101561371d57815161370488826136ab565b975061370f836136c2565b9250506001810190506136f0565b5085935050505092915050565b5f60a08201905061373d5f8301886124fb565b61374a6020830187612b7a565b818103604083015261375c81866136ce565b905061376b60608301856125d2565b61377860808301846124fb565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6137b982612457565b91506137c483612457565b9250826137d4576137d3613782565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613839602183612366565b9150613844826137df565b604082019050919050565b5f6020820190508181035f8301526138668161382d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6138a1601b83612366565b91506138ac8261386d565b602082019050919050565b5f6020820190508181035f8301526138ce81613895565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d9115900457fef52f6b39c7af15ff8c539604df73e05525ce1eb51f48e2c9a8664736f6c634300081900330000000000000000000000002c50b32a5dbb1eaef924a0797e15300ba88393b4
Deployed Bytecode
0x608060405260043610610184575f3560e01c80637af1d185116100d0578063bb9aee3e11610089578063eaa6bffc11610063578063eaa6bffc14610545578063f56be37a1461056f578063f60b3d6d14610597578063ff6a00e0146105ad5761018b565b8063bb9aee3e146104c9578063c7fcc15c146104df578063dd62ed3e146105095761018b565b80637af1d185146103a95780638da5cb5b146103d357806395d89b41146103fd578063a9059cbb14610427578063b714e01714610463578063b7d307bf1461048d5761018b565b80632e5b4c431161013d5780635ee2c32d116101175780635ee2c32d14610303578063708714c21461032d57806370a0823114610357578063715018a6146103935761018b565b80632e5b4c431461029b578063313ce567146102b15780633e4e15ae146102db5761018b565b806306fdde031461018f578063095ea7b3146101b957806318160ddd146101f557806323b872dd1461021f57806328453a971461025b5780632ce62d14146102715761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a36105c3565b6040516101b091906123cc565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da919061248a565b610600565b6040516101ec91906124e2565b60405180910390f35b348015610200575f80fd5b5061020961061d565b604051610216919061250a565b60405180910390f35b34801561022a575f80fd5b5061024560048036038101906102409190612523565b610640565b60405161025291906124e2565b60405180910390f35b348015610266575f80fd5b5061026f610714565b005b34801561027c575f80fd5b506102856107ab565b60405161029291906123cc565b60405180910390f35b3480156102a6575f80fd5b506102af61083b565b005b3480156102bc575f80fd5b506102c5610a57565b6040516102d2919061258e565b60405180910390f35b3480156102e6575f80fd5b5061030160048036038101906102fc919061248a565b610a5f565b005b34801561030e575f80fd5b50610317610b5f565b604051610324919061250a565b60405180910390f35b348015610338575f80fd5b50610341610b65565b60405161034e919061250a565b60405180910390f35b348015610362575f80fd5b5061037d600480360381019061037891906125a7565b610b6b565b60405161038a919061250a565b60405180910390f35b34801561039e575f80fd5b506103a7610bb1565b005b3480156103b4575f80fd5b506103bd610cff565b6040516103ca919061250a565b60405180910390f35b3480156103de575f80fd5b506103e7610d05565b6040516103f491906125e1565b60405180910390f35b348015610408575f80fd5b50610411610d2c565b60405161041e91906123cc565b60405180910390f35b348015610432575f80fd5b5061044d6004803603810190610448919061248a565b610d69565b60405161045a91906124e2565b60405180910390f35b34801561046e575f80fd5b50610477610d86565b604051610484919061250a565b60405180910390f35b348015610498575f80fd5b506104b360048036038101906104ae91906125fa565b610d8c565b6040516104c091906124e2565b60405180910390f35b3480156104d4575f80fd5b506104dd610e7c565b005b3480156104ea575f80fd5b506104f3610eeb565b60405161050091906123cc565b60405180910390f35b348015610514575f80fd5b5061052f600480360381019061052a9190612625565b610f7b565b60405161053c919061250a565b60405180910390f35b348015610550575f80fd5b50610559610ffd565b60405161056691906123cc565b60405180910390f35b34801561057a575f80fd5b506105956004803603810190610590919061278f565b61108d565b005b3480156105a2575f80fd5b506105ab6111fb565b005b3480156105b8575f80fd5b506105c16112d7565b005b60606040518060400160405280600781526020017f4e65784741544500000000000000000000000000000000000000000000000000815250905090565b5f61061361060c61139d565b84846113a4565b6001905092915050565b5f6009600a61062c919061298f565b6305f5e10061063b91906129d9565b905090565b5f61064c848484611567565b6107098461065861139d565b610704856040518060600160405280602881526020016138d66028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106bb61139d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e489092919063ffffffff16565b6113a4565b600190509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661075461139d565b73ffffffffffffffffffffffffffffffffffffffff1614610773575f80fd5b5f61077d30610b6b565b90505f8111156107915761079081611eaa565b5b5f4790505f8111156107a7576107a681612115565b5b5050565b6060601880546107ba90612a47565b80601f01602080910402602001604051908101604052809291908181526020018280546107e690612a47565b80156108315780601f1061080857610100808354040283529160200191610831565b820191905f5260205f20905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b61084361139d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690612ac1565b60405180910390fd5b601360149054906101000a900460ff161561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091690612b29565b60405180910390fd5b6109673060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610953919061298f565b6305f5e10061096291906129d9565b6113a4565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306109af30610b6b565b5f806109b9610d05565b426040518863ffffffff1660e01b81526004016109db96959493929190612b89565b60606040518083038185885af11580156109f7573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a1c9190612bfc565b5050506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a9f61139d565b73ffffffffffffffffffffffffffffffffffffffff1614610abe575f80fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610b1a929190612c9e565b6020604051808303815f875af1158015610b36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5a9190612cef565b505050565b60115481565b60105481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bb961139d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c90612ac1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4741544500000000000000000000000000000000000000000000000000000000815250905090565b5f610d7c610d7561139d565b8484611567565b6001905092915050565b600e5481565b5f610d9561139d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1890612ac1565b60405180910390fd5b81600781905550816008819055506005821115610e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6a90612d64565b60405180910390fd5b60019050919050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ebc61139d565b73ffffffffffffffffffffffffffffffffffffffff1614610edb575f80fd5b5f479050610ee881612115565b50565b606060168054610efa90612a47565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2690612a47565b8015610f715780601f10610f4857610100808354040283529160200191610f71565b820191905f5260205f20905b815481529060010190602001808311610f5457829003601f168201915b5050505050905090565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60606017805461100c90612a47565b80601f016020809104026020016040519081016040528092919081815260200182805461103890612a47565b80156110835780601f1061105a57610100808354040283529160200191611083565b820191905f5260205f20905b81548152906001019060200180831161106657829003601f168201915b5050505050905090565b61109561139d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111890612ac1565b60405180910390fd5b82601690816111309190612f16565b5081601790816111409190612f16565b5080601890816111509190612f16565b507fe7495f18535911f3858b4ed79740892735631393fbfd27d4b0debb61b04800d883604051611180919061302f565b60405180910390a17fe7495f18535911f3858b4ed79740892735631393fbfd27d4b0debb61b04800d8826040516111b791906130ac565b60405180910390a17fe7495f18535911f3858b4ed79740892735631393fbfd27d4b0debb61b04800d8816040516111ee9190613129565b60405180910390a1505050565b61120361139d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461128f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128690612ac1565b60405180910390fd5b6009600a61129d919061298f565b6305f5e1006112ac91906129d9565b600e819055506009600a6112c0919061298f565b6305f5e1006112cf91906129d9565b600f81905550565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661131761139d565b73ffffffffffffffffffffffffffffffffffffffff1614611336575f80fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561139a573d5f803e3d5ffd5b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611412576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611409906131cc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611480576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114779061325a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161155a919061250a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cc906132e8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163a90613376565b60405180910390fd5b5f8111611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167c90613404565b60405180910390fd5b5f61168e610d05565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116fc57506116cc610d05565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b98575f600d5403611749576117466064611738600954600d541161172557600554611729565b6007545b8561217d90919063ffffffff16565b6121f490919063ffffffff16565b90505b5f600d54111561177e5761177b606461176d600c548561217d90919063ffffffff16565b6121f490919063ffffffff16565b90505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611827575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561187a575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561197257600e548211156118c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bb9061346c565b60405180910390fd5b600f54826118d185610b6b565b6118db919061348a565b111561191c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191390613507565b60405180910390fd5b611958606461194a600954600d54116119375760055461193b565b6007545b8561217d90919063ffffffff16565b6121f490919063ffffffff16565b9050600d5f81548092919061196c90613525565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119fa57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a3e57611a3b6064611a2d600a54600d5411611a1a57600654611a1e565b6008545b8561217d90919063ffffffff16565b6121f490919063ffffffff16565b90505b5f611a4830610b6b565b9050601360159054906101000a900460ff16158015611ab3575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611acb5750601360169054906101000a900460ff165b8015611ad8575060105481115b8015611ae75750600b54600d54115b15611b9657601554431115611afe575f6014819055505b600460145410611b43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3a906135b6565b60405180910390fd5b611b60611b5b84611b568460115461223d565b61223d565b611eaa565b5f4790505f811115611b7657611b7547612115565b5b60145f815480929190611b8890613525565b919050555043601581905550505b505b5f811115611c9757611bf08160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461225590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c8e919061250a565b60405180910390a35b611ce78260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122b290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d8a611d3e82846122b290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461225590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e2d84866122b290919063ffffffff16565b604051611e3a919061250a565b60405180910390a350505050565b5f838311158290611e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8691906123cc565b60405180910390fd5b505f8385611e9d91906135d4565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ee157611ee061266b565b5b604051908082528060200260200182016040528015611f0f5781602001602082028036833780820191505090505b50905030815f81518110611f2657611f25613607565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fca573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fee9190613648565b8160018151811061200257612001613607565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120683060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113a4565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016120ca95949392919061372a565b5f604051808303815f87803b1580156120e1575f80fd5b505af11580156120f3573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612179573d5f803e3d5ffd5b5050565b5f80830361218d575f90506121ee565b5f828461219a91906129d9565b90508284826121a991906137af565b146121e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e09061384f565b60405180910390fd5b809150505b92915050565b5f61223583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122fb565b905092915050565b5f81831161224b578261224d565b815b905092915050565b5f808284612263919061348a565b9050838110156122a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229f906138b7565b60405180910390fd5b8091505092915050565b5f6122f383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e48565b905092915050565b5f8083118290612341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233891906123cc565b60405180910390fd5b505f838561234f91906137af565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61239e8261235c565b6123a88185612366565b93506123b8818560208601612376565b6123c181612384565b840191505092915050565b5f6020820190508181035f8301526123e48184612394565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612426826123fd565b9050919050565b6124368161241c565b8114612440575f80fd5b50565b5f813590506124518161242d565b92915050565b5f819050919050565b61246981612457565b8114612473575f80fd5b50565b5f8135905061248481612460565b92915050565b5f80604083850312156124a05761249f6123f5565b5b5f6124ad85828601612443565b92505060206124be85828601612476565b9150509250929050565b5f8115159050919050565b6124dc816124c8565b82525050565b5f6020820190506124f55f8301846124d3565b92915050565b61250481612457565b82525050565b5f60208201905061251d5f8301846124fb565b92915050565b5f805f6060848603121561253a576125396123f5565b5b5f61254786828701612443565b935050602061255886828701612443565b925050604061256986828701612476565b9150509250925092565b5f60ff82169050919050565b61258881612573565b82525050565b5f6020820190506125a15f83018461257f565b92915050565b5f602082840312156125bc576125bb6123f5565b5b5f6125c984828501612443565b91505092915050565b6125db8161241c565b82525050565b5f6020820190506125f45f8301846125d2565b92915050565b5f6020828403121561260f5761260e6123f5565b5b5f61261c84828501612476565b91505092915050565b5f806040838503121561263b5761263a6123f5565b5b5f61264885828601612443565b925050602061265985828601612443565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6126a182612384565b810181811067ffffffffffffffff821117156126c0576126bf61266b565b5b80604052505050565b5f6126d26123ec565b90506126de8282612698565b919050565b5f67ffffffffffffffff8211156126fd576126fc61266b565b5b61270682612384565b9050602081019050919050565b828183375f83830152505050565b5f61273361272e846126e3565b6126c9565b90508281526020810184848401111561274f5761274e612667565b5b61275a848285612713565b509392505050565b5f82601f83011261277657612775612663565b5b8135612786848260208601612721565b91505092915050565b5f805f606084860312156127a6576127a56123f5565b5b5f84013567ffffffffffffffff8111156127c3576127c26123f9565b5b6127cf86828701612762565b935050602084013567ffffffffffffffff8111156127f0576127ef6123f9565b5b6127fc86828701612762565b925050604084013567ffffffffffffffff81111561281d5761281c6123f9565b5b61282986828701612762565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156128b55780860481111561289157612890612833565b5b60018516156128a05780820291505b80810290506128ae85612860565b9450612875565b94509492505050565b5f826128cd5760019050612988565b816128da575f9050612988565b81600181146128f057600281146128fa57612929565b6001915050612988565b60ff84111561290c5761290b612833565b5b8360020a91508482111561292357612922612833565b5b50612988565b5060208310610133831016604e8410600b841016171561295e5782820a90508381111561295957612958612833565b5b612988565b61296b848484600161286c565b9250905081840481111561298257612981612833565b5b81810290505b9392505050565b5f61299982612457565b91506129a483612573565b92506129d17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846128be565b905092915050565b5f6129e382612457565b91506129ee83612457565b92508282026129fc81612457565b91508282048414831517612a1357612a12612833565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612a5e57607f821691505b602082108103612a7157612a70612a1a565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612aab602083612366565b9150612ab682612a77565b602082019050919050565b5f6020820190508181035f830152612ad881612a9f565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b13601783612366565b9150612b1e82612adf565b602082019050919050565b5f6020820190508181035f830152612b4081612b07565b9050919050565b5f819050919050565b5f819050919050565b5f612b73612b6e612b6984612b47565b612b50565b612457565b9050919050565b612b8381612b59565b82525050565b5f60c082019050612b9c5f8301896125d2565b612ba960208301886124fb565b612bb66040830187612b7a565b612bc36060830186612b7a565b612bd060808301856125d2565b612bdd60a08301846124fb565b979650505050505050565b5f81519050612bf681612460565b92915050565b5f805f60608486031215612c1357612c126123f5565b5b5f612c2086828701612be8565b9350506020612c3186828701612be8565b9250506040612c4286828701612be8565b9150509250925092565b5f612c66612c61612c5c846123fd565b612b50565b6123fd565b9050919050565b5f612c7782612c4c565b9050919050565b5f612c8882612c6d565b9050919050565b612c9881612c7e565b82525050565b5f604082019050612cb15f830185612c8f565b612cbe60208301846124fb565b9392505050565b612cce816124c8565b8114612cd8575f80fd5b50565b5f81519050612ce981612cc5565b92915050565b5f60208284031215612d0457612d036123f5565b5b5f612d1184828501612cdb565b91505092915050565b7f5461782063616e6e6f74206578636565642035000000000000000000000000005f82015250565b5f612d4e601383612366565b9150612d5982612d1a565b602082019050919050565b5f6020820190508181035f830152612d7b81612d42565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302612dde7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612da3565b612de88683612da3565b95508019841693508086168417925050509392505050565b5f612e1a612e15612e1084612457565b612b50565b612457565b9050919050565b5f819050919050565b612e3383612e00565b612e47612e3f82612e21565b848454612daf565b825550505050565b5f90565b612e5b612e4f565b612e66818484612e2a565b505050565b5b81811015612e8957612e7e5f82612e53565b600181019050612e6c565b5050565b601f821115612ece57612e9f81612d82565b612ea884612d94565b81016020851015612eb7578190505b612ecb612ec385612d94565b830182612e6b565b50505b505050565b5f82821c905092915050565b5f612eee5f1984600802612ed3565b1980831691505092915050565b5f612f068383612edf565b9150826002028217905092915050565b612f1f8261235c565b67ffffffffffffffff811115612f3857612f3761266b565b5b612f428254612a47565b612f4d828285612e8d565b5f60209050601f831160018114612f7e575f8415612f6c578287015190505b612f768582612efb565b865550612fdd565b601f198416612f8c86612d82565b5f5b82811015612fb357848901518255600182019150602085019450602081019050612f8e565b86831015612fd05784890151612fcc601f891682612edf565b8355505b6001600288020188555050505b505050505050565b7f54776974746572000000000000000000000000000000000000000000000000005f82015250565b5f613019600783612366565b915061302482612fe5565b602082019050919050565b5f6040820190508181035f8301526130468161300d565b9050818103602083015261305a8184612394565b905092915050565b7f54656c656772616d0000000000000000000000000000000000000000000000005f82015250565b5f613096600883612366565b91506130a182613062565b602082019050919050565b5f6040820190508181035f8301526130c38161308a565b905081810360208301526130d78184612394565b905092915050565b7f57656273697465000000000000000000000000000000000000000000000000005f82015250565b5f613113600783612366565b915061311e826130df565b602082019050919050565b5f6040820190508181035f83015261314081613107565b905081810360208301526131548184612394565b905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6131b6602483612366565b91506131c18261315c565b604082019050919050565b5f6020820190508181035f8301526131e3816131aa565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613244602283612366565b915061324f826131ea565b604082019050919050565b5f6020820190508181035f83015261327181613238565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6132d2602583612366565b91506132dd82613278565b604082019050919050565b5f6020820190508181035f8301526132ff816132c6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613360602383612366565b915061336b82613306565b604082019050919050565b5f6020820190508181035f83015261338d81613354565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6133ee602983612366565b91506133f982613394565b604082019050919050565b5f6020820190508181035f83015261341b816133e2565b9050919050565b7f4578636565647320746865205f6d617850757263686173652e000000000000005f82015250565b5f613456601983612366565b915061346182613422565b602082019050919050565b5f6020820190508181035f8301526134838161344a565b9050919050565b5f61349482612457565b915061349f83612457565b92508282019050808211156134b7576134b6612833565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6134f1601a83612366565b91506134fc826134bd565b602082019050919050565b5f6020820190508181035f83015261351e816134e5565b9050919050565b5f61352f82612457565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361356157613560612833565b5b600182019050919050565b7f4f6e6c7920342073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6135a0601783612366565b91506135ab8261356c565b602082019050919050565b5f6020820190508181035f8301526135cd81613594565b9050919050565b5f6135de82612457565b91506135e983612457565b925082820390508181111561360157613600612833565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506136428161242d565b92915050565b5f6020828403121561365d5761365c6123f5565b5b5f61366a84828501613634565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6136a58161241c565b82525050565b5f6136b6838361369c565b60208301905092915050565b5f602082019050919050565b5f6136d882613673565b6136e2818561367d565b93506136ed8361368d565b805f5b8381101561371d57815161370488826136ab565b975061370f836136c2565b9250506001810190506136f0565b5085935050505092915050565b5f60a08201905061373d5f8301886124fb565b61374a6020830187612b7a565b818103604083015261375c81866136ce565b905061376b60608301856125d2565b61377860808301846124fb565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6137b982612457565b91506137c483612457565b9250826137d4576137d3613782565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613839602183612366565b9150613844826137df565b604082019050919050565b5f6020820190508181035f8301526138668161382d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6138a1601b83612366565b91506138ac8261386d565b602082019050919050565b5f6020820190508181035f8301526138ce81613895565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d9115900457fef52f6b39c7af15ff8c539604df73e05525ce1eb51f48e2c9a8664736f6c63430008190033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002c50b32a5dbb1eaef924a0797e15300ba88393b4
-----Decoded View---------------
Arg [0] : destinationFeeAddress (address): 0x2C50B32A5DBB1EaeF924a0797e15300bA88393B4
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002c50b32a5dbb1eaef924a0797e15300ba88393b4
Deployed Bytecode Sourcemap
4551:10027:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7111:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7951:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7391:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8121:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14005:362;;;;;;;;;;;;;:::i;:::-;;12137:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13345:378;;;;;;;;;;;;;:::i;:::-;;7299:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13143:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5663:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5600:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7495:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3628:148;;;;;;;;;;;;;:::i;:::-;;5531:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3412:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7203:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7623:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5468:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13732:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14376:199;;;;;;;;;;;;;:::i;:::-;;11913:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7799:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12024:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11402:453;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12737:121;;;;;;;;;;;;;:::i;:::-;;12973:161;;;;;;;;;;;;;:::i;:::-;;7111:83;7148:13;7181:5;;;;;;;;;;;;;;;;;7174:12;;7111:83;:::o;7951:161::-;8026:4;8043:39;8052:12;:10;:12::i;:::-;8066:7;8075:6;8043:8;:39::i;:::-;8100:4;8093:11;;7951:161;;;;:::o;7391:95::-;7444:7;5286:1;5343:2;:13;;;;:::i;:::-;5329:11;:27;;;;:::i;:::-;7464:14;;7391:95;:::o;8121:313::-;8219:4;8236:36;8246:6;8254:9;8265:6;8236:9;:36::i;:::-;8283:121;8292:6;8300:12;:10;:12::i;:::-;8314:89;8352:6;8314:89;;;;;;;;;;;;;;;;;:11;:19;8326:6;8314:19;;;;;;;;;;;;;;;:33;8334:12;:10;:12::i;:::-;8314:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8283:8;:121::i;:::-;8422:4;8415:11;;8121:313;;;;;:::o;14005:362::-;14078:15;;;;;;;;;;;14064:29;;:12;:10;:12::i;:::-;:29;;;14056:38;;;;;;14105:20;14126:24;14144:4;14126:9;:24::i;:::-;14105:45;;14177:1;14164:12;:14;14161:73;;;14192:30;14209:12;14192:16;:30::i;:::-;14161:73;14244:18;14263:21;14244:40;;14309:1;14298:10;:12;14295:65;;;14324:24;14337:10;14324:12;:24::i;:::-;14295:65;14045:322;;14005:362::o;12137:102::-;12186:13;12219:12;12212:19;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12137:102;:::o;13345:378::-;3550:12;:10;:12::i;:::-;3540:22;;:6;;;;;;;;;;:22;;;3532:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13410:11:::1;;;;;;;;;;;13409:12;13401:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13459:58;13476:4;13491:15;;;;;;;;;;;5286:1;5343:2;:13;;;;:::i;:::-;5329:11;:27;;;;:::i;:::-;13459:8;:58::i;:::-;13528:15;;;;;;;;;;;:31;;;13567:21;13598:4;13604:24;13622:4;13604:9;:24::i;:::-;13629:1;13631::::0;13633:7:::1;:5;:7::i;:::-;13641:15;13528:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13682:4;13668:11;;:18;;;;;;;;;;;;;;;;;;13711:4;13697:11;;:18;;;;;;;;;;;;;;;;;;13345:378::o:0;7299:83::-;7340:5;5286:1;7358:16;;7299:83;:::o;13143:190::-;13245:15;;;;;;;;;;;13229:31;;:12;:10;:12::i;:::-;:31;;;13221:40;;;;;;13279:10;13272:27;;;13300:15;;;;;;;;;;;13317:7;13272:53;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13143:190;;:::o;5663:55::-;;;;:::o;5600:56::-;;;;:::o;7495:119::-;7561:7;7588:9;:18;7598:7;7588:18;;;;;;;;;;;;;;;;7581:25;;7495:119;;;:::o;3628:148::-;3550:12;:10;:12::i;:::-;3540:22;;:6;;;;;;;;;;:22;;;3532:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3735:1:::1;3698:40;;3719:6;::::0;::::1;;;;;;;;3698:40;;;;;;;;;;;;3766:1;3749:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3628:148::o:0;5531:62::-;;;;:::o;3412:79::-;3450:7;3477:6;;;;;;;;;;;3470:13;;3412:79;:::o;7203:87::-;7242:13;7275:7;;;;;;;;;;;;;;;;;7268:14;;7203:87;:::o;7623:167::-;7701:4;7718:42;7728:12;:10;:12::i;:::-;7742:9;7753:6;7718:9;:42::i;:::-;7778:4;7771:11;;7623:167;;;;:::o;5468:56::-;;;;:::o;13732:226::-;13799:4;3550:12;:10;:12::i;:::-;3540:22;;:6;;;;;;;;;;:22;;;3532:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13836:6:::1;13816:17;:26;;;;13869:6;13853:13;:22;;;;13904:1;13894:6;:11;;13886:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;13946:4;13939:11;;13732:226:::0;;;:::o;14376:199::-;14447:15;;;;;;;;;;;14433:29;;:12;:10;:12::i;:::-;:29;;;14425:38;;;;;;14474:26;14503:21;14474:50;;14535:32;14548:18;14535:12;:32::i;:::-;14414:161;14376:199::o;11913:102::-;11962:13;11995:12;11988:19;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11913:102;:::o;7799:143::-;7880:7;7907:11;:18;7919:5;7907:18;;;;;;;;;;;;;;;:27;7926:7;7907:27;;;;;;;;;;;;;;;;7900:34;;7799:143;;;;:::o;12024:104::-;12074:13;12107;12100:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12024:104;:::o;11402:453::-;3550:12;:10;:12::i;:::-;3540:22;;:6;;;;;;;;;;:22;;;3532:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11546:7:::1;11531:12;:22;;;;;;:::i;:::-;;11580:8;11564:13;:24;;;;;;:::i;:::-;;11614:7;11599:12;:22;;;;;;:::i;:::-;;11699:38;11729:7;11699:38;;;;;;:::i;:::-;;;;;;;;11753:40;11784:8;11753:40;;;;;;:::i;:::-;;;;;;;;11809:38;11839:7;11809:38;;;;;;:::i;:::-;;;;;;;;11402:453:::0;;;:::o;12737:121::-;3550:12;:10;:12::i;:::-;3540:22;;:6;;;;;;;;;;:22;;;3532:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5286:1:::1;5343:2;:13;;;;:::i;:::-;5329:11;:27;;;;:::i;:::-;12788:12;:22;;;;5286:1;5343:2;:13;;;;:::i;:::-;5329:11;:27;;;;:::i;:::-;12821:18;:26;;;;12737:121::o:0;12973:161::-;13043:15;;;;;;;;;;;13027:31;;:12;:10;:12::i;:::-;:31;;;13019:40;;;;;;13078:15;;;;;;;;;;;13070:33;;:56;13104:21;13070:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12973:161::o;1155:98::-;1208:7;1235:10;1228:17;;1155:98;:::o;8443:335::-;8553:1;8536:19;;:5;:19;;;8528:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8634:1;8615:21;;:7;:21;;;8607:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8716:6;8686:11;:18;8698:5;8686:18;;;;;;;;;;;;;;;:27;8705:7;8686:27;;;;;;;;;;;;;;;:36;;;;8754:7;8738:32;;8747:5;8738:32;;;8763:6;8738:32;;;;;;:::i;:::-;;;;;;;;8443:335;;;:::o;8787:2444::-;8891:1;8875:18;;:4;:18;;;8867:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8968:1;8954:16;;:2;:16;;;8946:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9038:1;9029:6;:10;9021:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9096:17;9138:7;:5;:7::i;:::-;9130:15;;:4;:15;;;;:32;;;;;9155:7;:5;:7::i;:::-;9149:13;;:2;:13;;;;9130:32;9126:1748;;;9198:1;9185:11;;:14;9182:152;;9231:87;9314:3;9231:78;9255:19;;9243:11;;:31;9242:66;;9294:14;;9242:66;;;9276:17;;9242:66;9231:6;:10;;:78;;;;:::i;:::-;:82;;:87;;;;:::i;:::-;9219:99;;9182:152;9363:1;9351:11;;:13;9348:96;;;9396:32;9424:3;9396:23;9407:11;;9396:6;:10;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;9384:44;;9348:96;9473:13;;;;;;;;;;;9465:21;;:4;:21;;;:55;;;;;9504:15;;;;;;;;;;;9490:30;;:2;:30;;;;9465:55;:79;;;;;9526:14;:18;9541:2;9526:18;;;;;;;;;;;;;;;;;;;;;;;;;9524:20;9465:79;9461:433;;;9584:12;;9574:6;:22;;9566:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9679:18;;9669:6;9653:13;9663:2;9653:9;:13::i;:::-;:22;;;;:::i;:::-;:44;;9645:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;9759:87;9842:3;9759:78;9783:19;;9771:11;;:31;9770:66;;9822:14;;9770:66;;;9804:17;;9770:66;9759:6;:10;;:78;;;;:::i;:::-;:82;;:87;;;;:::i;:::-;9747:99;;9865:11;;:13;;;;;;;;;:::i;:::-;;;;;;9461:433;9920:13;;;;;;;;;;;9914:19;;:2;:19;;;:43;;;;;9952:4;9937:20;;:4;:20;;;;9914:43;9911:180;;;9990:85;10071:3;9990:76;10014:20;;10002:11;;:32;10001:64;;10050:15;;10001:64;;;10036:13;;10001:64;9990:6;:10;;:76;;;;:::i;:::-;:80;;:85;;;;:::i;:::-;9978:97;;9911:180;10108:28;10139:24;10157:4;10139:9;:24::i;:::-;10108:55;;10183:6;;;;;;;;;;;10182:7;:30;;;;;10199:13;;;;;;;;;;;10193:19;;:2;:19;;;10182:30;:45;;;;;10216:11;;;;;;;;;;;10182:45;:87;;;;;10254:15;;10231:20;:38;10182:87;:123;;;;;10287:18;;10273:11;;:32;10182:123;10178:685;;;10345:14;;10330:12;:29;10326:91;;;10396:1;10384:9;:13;;;;10326:91;10455:1;10443:9;;:13;10435:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;10503:73;10520:55;10524:6;10532:42;10536:20;10558:15;;10532:3;:42::i;:::-;10520:3;:55::i;:::-;10503:16;:73::i;:::-;10595:26;10624:21;10595:50;;10689:1;10668:18;:22;10664:106;;;10715:35;10728:21;10715:12;:35::i;:::-;10664:106;10788:9;;:11;;;;;;;;;:::i;:::-;;;;;;10835:12;10818:14;:29;;;;10307:556;10178:685;9164:1710;9126:1748;10900:1;10890:9;:11;10887:161;;;10940:39;10969:9;10940;:24;10958:4;10940:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10915:9;:24;10933:4;10915:24;;;;;;;;;;;;;;;:64;;;;11020:4;10997:39;;11006:4;10997:39;;;11026:9;10997:39;;;;;;:::i;:::-;;;;;;;;10887:161;11074:27;11094:6;11074:9;:15;11084:4;11074:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11058:9;:15;11068:4;11058:15;;;;;;;;;;;;;;;:43;;;;11126:40;11144:21;11155:9;11144:6;:10;;:21;;;;:::i;:::-;11126:9;:13;11136:2;11126:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11112:9;:13;11122:2;11112:13;;;;;;;;;;;;;;;:54;;;;11197:2;11182:41;;11191:4;11182:41;;;11201:21;11212:9;11201:6;:10;;:21;;;;:::i;:::-;11182:41;;;;;;:::i;:::-;;;;;;;;8856:2375;8787:2444;;;:::o;2297:190::-;2383:7;2416:1;2411;:6;;2419:12;2403:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2443:9;2459:1;2455;:5;;;;:::i;:::-;2443:17;;2478:1;2471:8;;;2297:190;;;;;:::o;12245:483::-;6253:4;6244:6;;:13;;;;;;;;;;;;;;;;;;12323:21:::1;12361:1;12347:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12323:40;;12392:4;12374;12379:1;12374:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12418:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12408:4;12413:1;12408:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12451:62;12468:4;12483:15;;;;;;;;;;;12501:11;12451:8;:62::i;:::-;12524:15;;;;;;;;;;;:66;;;12605:11;12631:1;12647:4;12674;12694:15;12524:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12312:416;6289:5:::0;6280:6;;:14;;;;;;;;;;;;;;;;;;12245:483;:::o;12867:97::-;12924:15;;;;;;;;;;;:24;;:32;12949:6;12924:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12867:97;:::o;2496:246::-;2554:7;2583:1;2578;:6;2574:47;;2608:1;2601:8;;;;2574:47;2631:9;2647:1;2643;:5;;;;:::i;:::-;2631:17;;2676:1;2671;2667;:5;;;;:::i;:::-;:10;2659:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2733:1;2726:8;;;2496:246;;;;;:::o;2751:132::-;2809:7;2836:39;2840:1;2843;2836:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2829:46;;2751:132;;;;:::o;11240:98::-;11297:7;11324:1;11322;:3;11321:9;;11329:1;11321:9;;;11327:1;11321:9;11314:16;;11240:98;;;;:::o;1964:179::-;2022:7;2042:9;2058:1;2054;:5;;;;:::i;:::-;2042:17;;2083:1;2078;:6;;2070:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2134:1;2127:8;;;1964:179;;;;:::o;2152:136::-;2210:7;2237:43;2241:1;2244;2237:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2230:50;;2152:136;;;;:::o;2892:189::-;2978:7;3010:1;3006;:5;3013:12;2998:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3037:9;3053:1;3049;:5;;;;:::i;:::-;3037:17;;3072:1;3065:8;;;2892: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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:75::-;1275:6;1308:2;1302:9;1292:19;;1242:75;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:329::-;5492:6;5541:2;5529:9;5520:7;5516:23;5512:32;5509:119;;;5547:79;;:::i;:::-;5509:119;5667:1;5692:53;5737:7;5728:6;5717:9;5713:22;5692:53;:::i;:::-;5682:63;;5638:117;5433:329;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:117::-;6357:1;6354;6347:12;6371:117;6480:1;6477;6470:12;6494:180;6542:77;6539:1;6532:88;6639:4;6636:1;6629:15;6663:4;6660:1;6653:15;6680:281;6763:27;6785:4;6763:27;:::i;:::-;6755:6;6751:40;6893:6;6881:10;6878:22;6857:18;6845:10;6842:34;6839:62;6836:88;;;6904:18;;:::i;:::-;6836:88;6944:10;6940:2;6933:22;6723:238;6680:281;;:::o;6967:129::-;7001:6;7028:20;;:::i;:::-;7018:30;;7057:33;7085:4;7077:6;7057:33;:::i;:::-;6967:129;;;:::o;7102:308::-;7164:4;7254:18;7246:6;7243:30;7240:56;;;7276:18;;:::i;:::-;7240:56;7314:29;7336:6;7314:29;:::i;:::-;7306:37;;7398:4;7392;7388:15;7380:23;;7102:308;;;:::o;7416:148::-;7514:6;7509:3;7504;7491:30;7555:1;7546:6;7541:3;7537:16;7530:27;7416:148;;;:::o;7570:425::-;7648:5;7673:66;7689:49;7731:6;7689:49;:::i;:::-;7673:66;:::i;:::-;7664:75;;7762:6;7755:5;7748:21;7800:4;7793:5;7789:16;7838:3;7829:6;7824:3;7820:16;7817:25;7814:112;;;7845:79;;:::i;:::-;7814:112;7935:54;7982:6;7977:3;7972;7935:54;:::i;:::-;7654:341;7570:425;;;;;:::o;8015:340::-;8071:5;8120:3;8113:4;8105:6;8101:17;8097:27;8087:122;;8128:79;;:::i;:::-;8087:122;8245:6;8232:20;8270:79;8345:3;8337:6;8330:4;8322:6;8318:17;8270:79;:::i;:::-;8261:88;;8077:278;8015:340;;;;:::o;8361:1159::-;8468:6;8476;8484;8533:2;8521:9;8512:7;8508:23;8504:32;8501:119;;;8539:79;;:::i;:::-;8501:119;8687:1;8676:9;8672:17;8659:31;8717:18;8709:6;8706:30;8703:117;;;8739:79;;:::i;:::-;8703:117;8844:63;8899:7;8890:6;8879:9;8875:22;8844:63;:::i;:::-;8834:73;;8630:287;8984:2;8973:9;8969:18;8956:32;9015:18;9007:6;9004:30;9001:117;;;9037:79;;:::i;:::-;9001:117;9142:63;9197:7;9188:6;9177:9;9173:22;9142:63;:::i;:::-;9132:73;;8927:288;9282:2;9271:9;9267:18;9254:32;9313:18;9305:6;9302:30;9299:117;;;9335:79;;:::i;:::-;9299:117;9440:63;9495:7;9486:6;9475:9;9471:22;9440:63;:::i;:::-;9430:73;;9225:288;8361:1159;;;;;:::o;9526:180::-;9574:77;9571:1;9564:88;9671:4;9668:1;9661:15;9695:4;9692:1;9685:15;9712:102;9754:8;9801:5;9798:1;9794:13;9773:34;;9712:102;;;:::o;9820:848::-;9881:5;9888:4;9912:6;9903:15;;9936:5;9927:14;;9950:712;9971:1;9961:8;9958:15;9950:712;;;10066:4;10061:3;10057:14;10051:4;10048:24;10045:50;;;10075:18;;:::i;:::-;10045:50;10125:1;10115:8;10111:16;10108:451;;;10540:4;10533:5;10529:16;10520:25;;10108:451;10590:4;10584;10580:15;10572:23;;10620:32;10643:8;10620:32;:::i;:::-;10608:44;;9950:712;;;9820:848;;;;;;;:::o;10674:1073::-;10728:5;10919:8;10909:40;;10940:1;10931:10;;10942:5;;10909:40;10968:4;10958:36;;10985:1;10976:10;;10987:5;;10958:36;11054:4;11102:1;11097:27;;;;11138:1;11133:191;;;;11047:277;;11097:27;11115:1;11106:10;;11117:5;;;11133:191;11178:3;11168:8;11165:17;11162:43;;;11185:18;;:::i;:::-;11162:43;11234:8;11231:1;11227:16;11218:25;;11269:3;11262:5;11259:14;11256:40;;;11276:18;;:::i;:::-;11256:40;11309:5;;;11047:277;;11433:2;11423:8;11420:16;11414:3;11408:4;11405:13;11401:36;11383:2;11373:8;11370:16;11365:2;11359:4;11356:12;11352:35;11336:111;11333:246;;;11489:8;11483:4;11479:19;11470:28;;11524:3;11517:5;11514:14;11511:40;;;11531:18;;:::i;:::-;11511:40;11564:5;;11333:246;11604:42;11642:3;11632:8;11626:4;11623:1;11604:42;:::i;:::-;11589:57;;;;11678:4;11673:3;11669:14;11662:5;11659:25;11656:51;;;11687:18;;:::i;:::-;11656:51;11736:4;11729:5;11725:16;11716:25;;10674:1073;;;;;;:::o;11753:281::-;11811:5;11835:23;11853:4;11835:23;:::i;:::-;11827:31;;11879:25;11895:8;11879:25;:::i;:::-;11867:37;;11923:104;11960:66;11950:8;11944:4;11923:104;:::i;:::-;11914:113;;11753:281;;;;:::o;12040:410::-;12080:7;12103:20;12121:1;12103:20;:::i;:::-;12098:25;;12137:20;12155:1;12137:20;:::i;:::-;12132:25;;12192:1;12189;12185:9;12214:30;12232:11;12214:30;:::i;:::-;12203:41;;12393:1;12384:7;12380:15;12377:1;12374:22;12354:1;12347:9;12327:83;12304:139;;12423:18;;:::i;:::-;12304:139;12088:362;12040:410;;;;:::o;12456:180::-;12504:77;12501:1;12494:88;12601:4;12598:1;12591:15;12625:4;12622:1;12615:15;12642:320;12686:6;12723:1;12717:4;12713:12;12703:22;;12770:1;12764:4;12760:12;12791:18;12781:81;;12847:4;12839:6;12835:17;12825:27;;12781:81;12909:2;12901:6;12898:14;12878:18;12875:38;12872:84;;12928:18;;:::i;:::-;12872:84;12693:269;12642:320;;;:::o;12968:182::-;13108:34;13104:1;13096:6;13092:14;13085:58;12968:182;:::o;13156:366::-;13298:3;13319:67;13383:2;13378:3;13319:67;:::i;:::-;13312:74;;13395:93;13484:3;13395:93;:::i;:::-;13513:2;13508:3;13504:12;13497:19;;13156:366;;;:::o;13528:419::-;13694:4;13732:2;13721:9;13717:18;13709:26;;13781:9;13775:4;13771:20;13767:1;13756:9;13752:17;13745:47;13809:131;13935:4;13809:131;:::i;:::-;13801:139;;13528:419;;;:::o;13953:173::-;14093:25;14089:1;14081:6;14077:14;14070:49;13953:173;:::o;14132:366::-;14274:3;14295:67;14359:2;14354:3;14295:67;:::i;:::-;14288:74;;14371:93;14460:3;14371:93;:::i;:::-;14489:2;14484:3;14480:12;14473:19;;14132:366;;;:::o;14504:419::-;14670:4;14708:2;14697:9;14693:18;14685:26;;14757:9;14751:4;14747:20;14743:1;14732:9;14728:17;14721:47;14785:131;14911:4;14785:131;:::i;:::-;14777:139;;14504:419;;;:::o;14929:85::-;14974:7;15003:5;14992:16;;14929:85;;;:::o;15020:60::-;15048:3;15069:5;15062:12;;15020:60;;;:::o;15086:158::-;15144:9;15177:61;15195:42;15204:32;15230:5;15204:32;:::i;:::-;15195:42;:::i;:::-;15177:61;:::i;:::-;15164:74;;15086:158;;;:::o;15250:147::-;15345:45;15384:5;15345:45;:::i;:::-;15340:3;15333:58;15250:147;;:::o;15403:807::-;15652:4;15690:3;15679:9;15675:19;15667:27;;15704:71;15772:1;15761:9;15757:17;15748:6;15704:71;:::i;:::-;15785:72;15853:2;15842:9;15838:18;15829:6;15785:72;:::i;:::-;15867:80;15943:2;15932:9;15928:18;15919:6;15867:80;:::i;:::-;15957;16033:2;16022:9;16018:18;16009:6;15957:80;:::i;:::-;16047:73;16115:3;16104:9;16100:19;16091:6;16047:73;:::i;:::-;16130;16198:3;16187:9;16183:19;16174:6;16130:73;:::i;:::-;15403:807;;;;;;;;;:::o;16216:143::-;16273:5;16304:6;16298:13;16289:22;;16320:33;16347:5;16320:33;:::i;:::-;16216:143;;;;:::o;16365:663::-;16453:6;16461;16469;16518:2;16506:9;16497:7;16493:23;16489:32;16486:119;;;16524:79;;:::i;:::-;16486:119;16644:1;16669:64;16725:7;16716:6;16705:9;16701:22;16669:64;:::i;:::-;16659:74;;16615:128;16782:2;16808:64;16864:7;16855:6;16844:9;16840:22;16808:64;:::i;:::-;16798:74;;16753:129;16921:2;16947:64;17003:7;16994:6;16983:9;16979:22;16947:64;:::i;:::-;16937:74;;16892:129;16365:663;;;;;:::o;17034:142::-;17084:9;17117:53;17135:34;17144:24;17162:5;17144:24;:::i;:::-;17135:34;:::i;:::-;17117:53;:::i;:::-;17104:66;;17034:142;;;:::o;17182:126::-;17232:9;17265:37;17296:5;17265:37;:::i;:::-;17252:50;;17182:126;;;:::o;17314:134::-;17372:9;17405:37;17436:5;17405:37;:::i;:::-;17392:50;;17314:134;;;:::o;17454:147::-;17549:45;17588:5;17549:45;:::i;:::-;17544:3;17537:58;17454:147;;:::o;17607:348::-;17736:4;17774:2;17763:9;17759:18;17751:26;;17787:79;17863:1;17852:9;17848:17;17839:6;17787:79;:::i;:::-;17876:72;17944:2;17933:9;17929:18;17920:6;17876:72;:::i;:::-;17607:348;;;;;:::o;17961:116::-;18031:21;18046:5;18031:21;:::i;:::-;18024:5;18021:32;18011:60;;18067:1;18064;18057:12;18011:60;17961:116;:::o;18083:137::-;18137:5;18168:6;18162:13;18153:22;;18184:30;18208:5;18184:30;:::i;:::-;18083:137;;;;:::o;18226:345::-;18293:6;18342:2;18330:9;18321:7;18317:23;18313:32;18310:119;;;18348:79;;:::i;:::-;18310:119;18468:1;18493:61;18546:7;18537:6;18526:9;18522:22;18493:61;:::i;:::-;18483:71;;18439:125;18226:345;;;;:::o;18577:169::-;18717:21;18713:1;18705:6;18701:14;18694:45;18577:169;:::o;18752:366::-;18894:3;18915:67;18979:2;18974:3;18915:67;:::i;:::-;18908:74;;18991:93;19080:3;18991:93;:::i;:::-;19109:2;19104:3;19100:12;19093:19;;18752:366;;;:::o;19124:419::-;19290:4;19328:2;19317:9;19313:18;19305:26;;19377:9;19371:4;19367:20;19363:1;19352:9;19348:17;19341:47;19405:131;19531:4;19405:131;:::i;:::-;19397:139;;19124:419;;;:::o;19549:141::-;19598:4;19621:3;19613:11;;19644:3;19641:1;19634:14;19678:4;19675:1;19665:18;19657:26;;19549:141;;;:::o;19696:93::-;19733:6;19780:2;19775;19768:5;19764:14;19760:23;19750:33;;19696:93;;;:::o;19795:107::-;19839:8;19889:5;19883:4;19879:16;19858:37;;19795:107;;;;:::o;19908:393::-;19977:6;20027:1;20015:10;20011:18;20050:97;20080:66;20069:9;20050:97;:::i;:::-;20168:39;20198:8;20187:9;20168:39;:::i;:::-;20156:51;;20240:4;20236:9;20229:5;20225:21;20216:30;;20289:4;20279:8;20275:19;20268:5;20265:30;20255:40;;19984:317;;19908:393;;;;;:::o;20307:142::-;20357:9;20390:53;20408:34;20417:24;20435:5;20417:24;:::i;:::-;20408:34;:::i;:::-;20390:53;:::i;:::-;20377:66;;20307:142;;;:::o;20455:75::-;20498:3;20519:5;20512:12;;20455:75;;;:::o;20536:269::-;20646:39;20677:7;20646:39;:::i;:::-;20707:91;20756:41;20780:16;20756:41;:::i;:::-;20748:6;20741:4;20735:11;20707:91;:::i;:::-;20701:4;20694:105;20612:193;20536:269;;;:::o;20811:73::-;20856:3;20811:73;:::o;20890:189::-;20967:32;;:::i;:::-;21008:65;21066:6;21058;21052:4;21008:65;:::i;:::-;20943:136;20890:189;;:::o;21085:186::-;21145:120;21162:3;21155:5;21152:14;21145:120;;;21216:39;21253:1;21246:5;21216:39;:::i;:::-;21189:1;21182:5;21178:13;21169:22;;21145:120;;;21085:186;;:::o;21277:543::-;21378:2;21373:3;21370:11;21367:446;;;21412:38;21444:5;21412:38;:::i;:::-;21496:29;21514:10;21496:29;:::i;:::-;21486:8;21482:44;21679:2;21667:10;21664:18;21661:49;;;21700:8;21685:23;;21661:49;21723:80;21779:22;21797:3;21779:22;:::i;:::-;21769:8;21765:37;21752:11;21723:80;:::i;:::-;21382:431;;21367:446;21277:543;;;:::o;21826:117::-;21880:8;21930:5;21924:4;21920:16;21899:37;;21826:117;;;;:::o;21949:169::-;21993:6;22026:51;22074:1;22070:6;22062:5;22059:1;22055:13;22026:51;:::i;:::-;22022:56;22107:4;22101;22097:15;22087:25;;22000:118;21949:169;;;;:::o;22123:295::-;22199:4;22345:29;22370:3;22364:4;22345:29;:::i;:::-;22337:37;;22407:3;22404:1;22400:11;22394:4;22391:21;22383:29;;22123:295;;;;:::o;22423:1395::-;22540:37;22573:3;22540:37;:::i;:::-;22642:18;22634:6;22631:30;22628:56;;;22664:18;;:::i;:::-;22628:56;22708:38;22740:4;22734:11;22708:38;:::i;:::-;22793:67;22853:6;22845;22839:4;22793:67;:::i;:::-;22887:1;22911:4;22898:17;;22943:2;22935:6;22932:14;22960:1;22955:618;;;;23617:1;23634:6;23631:77;;;23683:9;23678:3;23674:19;23668:26;23659:35;;23631:77;23734:67;23794:6;23787:5;23734:67;:::i;:::-;23728:4;23721:81;23590:222;22925:887;;22955:618;23007:4;23003:9;22995:6;22991:22;23041:37;23073:4;23041:37;:::i;:::-;23100:1;23114:208;23128:7;23125:1;23122:14;23114:208;;;23207:9;23202:3;23198:19;23192:26;23184:6;23177:42;23258:1;23250:6;23246:14;23236:24;;23305:2;23294:9;23290:18;23277:31;;23151:4;23148:1;23144:12;23139:17;;23114:208;;;23350:6;23341:7;23338:19;23335:179;;;23408:9;23403:3;23399:19;23393:26;23451:48;23493:4;23485:6;23481:17;23470:9;23451:48;:::i;:::-;23443:6;23436:64;23358:156;23335:179;23560:1;23556;23548:6;23544:14;23540:22;23534:4;23527:36;22962:611;;;22925:887;;22515:1303;;;22423:1395;;:::o;23824:157::-;23964:9;23960:1;23952:6;23948:14;23941:33;23824:157;:::o;23987:365::-;24129:3;24150:66;24214:1;24209:3;24150:66;:::i;:::-;24143:73;;24225:93;24314:3;24225:93;:::i;:::-;24343:2;24338:3;24334:12;24327:19;;23987:365;;;:::o;24358:620::-;24572:4;24610:2;24599:9;24595:18;24587:26;;24659:9;24653:4;24649:20;24645:1;24634:9;24630:17;24623:47;24687:131;24813:4;24687:131;:::i;:::-;24679:139;;24865:9;24859:4;24855:20;24850:2;24839:9;24835:18;24828:48;24893:78;24966:4;24957:6;24893:78;:::i;:::-;24885:86;;24358:620;;;;:::o;24984:158::-;25124:10;25120:1;25112:6;25108:14;25101:34;24984:158;:::o;25148:365::-;25290:3;25311:66;25375:1;25370:3;25311:66;:::i;:::-;25304:73;;25386:93;25475:3;25386:93;:::i;:::-;25504:2;25499:3;25495:12;25488:19;;25148:365;;;:::o;25519:620::-;25733:4;25771:2;25760:9;25756:18;25748:26;;25820:9;25814:4;25810:20;25806:1;25795:9;25791:17;25784:47;25848:131;25974:4;25848:131;:::i;:::-;25840:139;;26026:9;26020:4;26016:20;26011:2;26000:9;25996:18;25989:48;26054:78;26127:4;26118:6;26054:78;:::i;:::-;26046:86;;25519:620;;;;:::o;26145:157::-;26285:9;26281:1;26273:6;26269:14;26262:33;26145:157;:::o;26308:365::-;26450:3;26471:66;26535:1;26530:3;26471:66;:::i;:::-;26464:73;;26546:93;26635:3;26546:93;:::i;:::-;26664:2;26659:3;26655:12;26648:19;;26308:365;;;:::o;26679:620::-;26893:4;26931:2;26920:9;26916:18;26908:26;;26980:9;26974:4;26970:20;26966:1;26955:9;26951:17;26944:47;27008:131;27134:4;27008:131;:::i;:::-;27000:139;;27186:9;27180:4;27176:20;27171:2;27160:9;27156:18;27149:48;27214:78;27287:4;27278:6;27214:78;:::i;:::-;27206:86;;26679:620;;;;:::o;27305:223::-;27445:34;27441:1;27433:6;27429:14;27422:58;27514:6;27509:2;27501:6;27497:15;27490:31;27305:223;:::o;27534:366::-;27676:3;27697:67;27761:2;27756:3;27697:67;:::i;:::-;27690:74;;27773:93;27862:3;27773:93;:::i;:::-;27891:2;27886:3;27882:12;27875:19;;27534:366;;;:::o;27906:419::-;28072:4;28110:2;28099:9;28095:18;28087:26;;28159:9;28153:4;28149:20;28145:1;28134:9;28130:17;28123:47;28187:131;28313:4;28187:131;:::i;:::-;28179:139;;27906:419;;;:::o;28331:221::-;28471:34;28467:1;28459:6;28455:14;28448:58;28540:4;28535:2;28527:6;28523:15;28516:29;28331:221;:::o;28558:366::-;28700:3;28721:67;28785:2;28780:3;28721:67;:::i;:::-;28714:74;;28797:93;28886:3;28797:93;:::i;:::-;28915:2;28910:3;28906:12;28899:19;;28558:366;;;:::o;28930:419::-;29096:4;29134:2;29123:9;29119:18;29111:26;;29183:9;29177:4;29173:20;29169:1;29158:9;29154:17;29147:47;29211:131;29337:4;29211:131;:::i;:::-;29203:139;;28930:419;;;:::o;29355:224::-;29495:34;29491:1;29483:6;29479:14;29472:58;29564:7;29559:2;29551:6;29547:15;29540:32;29355:224;:::o;29585:366::-;29727:3;29748:67;29812:2;29807:3;29748:67;:::i;:::-;29741:74;;29824:93;29913:3;29824:93;:::i;:::-;29942:2;29937:3;29933:12;29926:19;;29585:366;;;:::o;29957:419::-;30123:4;30161:2;30150:9;30146:18;30138:26;;30210:9;30204:4;30200:20;30196:1;30185:9;30181:17;30174:47;30238:131;30364:4;30238:131;:::i;:::-;30230:139;;29957:419;;;:::o;30382:222::-;30522:34;30518:1;30510:6;30506:14;30499:58;30591:5;30586:2;30578:6;30574:15;30567:30;30382:222;:::o;30610:366::-;30752:3;30773:67;30837:2;30832:3;30773:67;:::i;:::-;30766:74;;30849:93;30938:3;30849:93;:::i;:::-;30967:2;30962:3;30958:12;30951:19;;30610:366;;;:::o;30982:419::-;31148:4;31186:2;31175:9;31171:18;31163:26;;31235:9;31229:4;31225:20;31221:1;31210:9;31206:17;31199:47;31263:131;31389:4;31263:131;:::i;:::-;31255:139;;30982:419;;;:::o;31407:228::-;31547:34;31543:1;31535:6;31531:14;31524:58;31616:11;31611:2;31603:6;31599:15;31592:36;31407:228;:::o;31641:366::-;31783:3;31804:67;31868:2;31863:3;31804:67;:::i;:::-;31797:74;;31880:93;31969:3;31880:93;:::i;:::-;31998:2;31993:3;31989:12;31982:19;;31641:366;;;:::o;32013:419::-;32179:4;32217:2;32206:9;32202:18;32194:26;;32266:9;32260:4;32256:20;32252:1;32241:9;32237:17;32230:47;32294:131;32420:4;32294:131;:::i;:::-;32286:139;;32013:419;;;:::o;32438:175::-;32578:27;32574:1;32566:6;32562:14;32555:51;32438:175;:::o;32619:366::-;32761:3;32782:67;32846:2;32841:3;32782:67;:::i;:::-;32775:74;;32858:93;32947:3;32858:93;:::i;:::-;32976:2;32971:3;32967:12;32960:19;;32619:366;;;:::o;32991:419::-;33157:4;33195:2;33184:9;33180:18;33172:26;;33244:9;33238:4;33234:20;33230:1;33219:9;33215:17;33208:47;33272:131;33398:4;33272:131;:::i;:::-;33264:139;;32991:419;;;:::o;33416:191::-;33456:3;33475:20;33493:1;33475:20;:::i;:::-;33470:25;;33509:20;33527:1;33509:20;:::i;:::-;33504:25;;33552:1;33549;33545:9;33538:16;;33573:3;33570:1;33567:10;33564:36;;;33580:18;;:::i;:::-;33564:36;33416:191;;;;:::o;33613:176::-;33753:28;33749:1;33741:6;33737:14;33730:52;33613:176;:::o;33795:366::-;33937:3;33958:67;34022:2;34017:3;33958:67;:::i;:::-;33951:74;;34034:93;34123:3;34034:93;:::i;:::-;34152:2;34147:3;34143:12;34136:19;;33795:366;;;:::o;34167:419::-;34333:4;34371:2;34360:9;34356:18;34348:26;;34420:9;34414:4;34410:20;34406:1;34395:9;34391:17;34384:47;34448:131;34574:4;34448:131;:::i;:::-;34440:139;;34167:419;;;:::o;34592:233::-;34631:3;34654:24;34672:5;34654:24;:::i;:::-;34645:33;;34700:66;34693:5;34690:77;34687:103;;34770:18;;:::i;:::-;34687:103;34817:1;34810:5;34806:13;34799:20;;34592:233;;;:::o;34831:173::-;34971:25;34967:1;34959:6;34955:14;34948:49;34831:173;:::o;35010:366::-;35152:3;35173:67;35237:2;35232:3;35173:67;:::i;:::-;35166:74;;35249:93;35338:3;35249:93;:::i;:::-;35367:2;35362:3;35358:12;35351:19;;35010:366;;;:::o;35382:419::-;35548:4;35586:2;35575:9;35571:18;35563:26;;35635:9;35629:4;35625:20;35621:1;35610:9;35606:17;35599:47;35663:131;35789:4;35663:131;:::i;:::-;35655:139;;35382:419;;;:::o;35807:194::-;35847:4;35867:20;35885:1;35867:20;:::i;:::-;35862:25;;35901:20;35919:1;35901:20;:::i;:::-;35896:25;;35945:1;35942;35938:9;35930:17;;35969:1;35963:4;35960:11;35957:37;;;35974:18;;:::i;:::-;35957:37;35807:194;;;;:::o;36007:180::-;36055:77;36052:1;36045:88;36152:4;36149:1;36142:15;36176:4;36173:1;36166:15;36193:143;36250:5;36281:6;36275:13;36266:22;;36297:33;36324:5;36297:33;:::i;:::-;36193:143;;;;:::o;36342:351::-;36412:6;36461:2;36449:9;36440:7;36436:23;36432:32;36429:119;;;36467:79;;:::i;:::-;36429:119;36587:1;36612:64;36668:7;36659:6;36648:9;36644:22;36612:64;:::i;:::-;36602:74;;36558:128;36342:351;;;;:::o;36699:114::-;36766:6;36800:5;36794:12;36784:22;;36699:114;;;:::o;36819:184::-;36918:11;36952:6;36947:3;36940:19;36992:4;36987:3;36983:14;36968:29;;36819:184;;;;:::o;37009:132::-;37076:4;37099:3;37091:11;;37129:4;37124:3;37120:14;37112:22;;37009:132;;;:::o;37147:108::-;37224:24;37242:5;37224:24;:::i;:::-;37219:3;37212:37;37147:108;;:::o;37261:179::-;37330:10;37351:46;37393:3;37385:6;37351:46;:::i;:::-;37429:4;37424:3;37420:14;37406:28;;37261:179;;;;:::o;37446:113::-;37516:4;37548;37543:3;37539:14;37531:22;;37446:113;;;:::o;37595:732::-;37714:3;37743:54;37791:5;37743:54;:::i;:::-;37813:86;37892:6;37887:3;37813:86;:::i;:::-;37806:93;;37923:56;37973:5;37923:56;:::i;:::-;38002:7;38033:1;38018:284;38043:6;38040:1;38037:13;38018:284;;;38119:6;38113:13;38146:63;38205:3;38190:13;38146:63;:::i;:::-;38139:70;;38232:60;38285:6;38232:60;:::i;:::-;38222:70;;38078:224;38065:1;38062;38058:9;38053:14;;38018:284;;;38022:14;38318:3;38311:10;;37719:608;;;37595:732;;;;:::o;38333:831::-;38596:4;38634:3;38623:9;38619:19;38611:27;;38648:71;38716:1;38705:9;38701:17;38692:6;38648:71;:::i;:::-;38729:80;38805:2;38794:9;38790:18;38781:6;38729:80;:::i;:::-;38856:9;38850:4;38846:20;38841:2;38830:9;38826:18;38819:48;38884:108;38987:4;38978:6;38884:108;:::i;:::-;38876:116;;39002:72;39070:2;39059:9;39055:18;39046:6;39002:72;:::i;:::-;39084:73;39152:3;39141:9;39137:19;39128:6;39084:73;:::i;:::-;38333:831;;;;;;;;:::o;39170:180::-;39218:77;39215:1;39208:88;39315:4;39312:1;39305:15;39339:4;39336:1;39329:15;39356:185;39396:1;39413:20;39431:1;39413:20;:::i;:::-;39408:25;;39447:20;39465:1;39447:20;:::i;:::-;39442:25;;39486:1;39476:35;;39491:18;;:::i;:::-;39476:35;39533:1;39530;39526:9;39521:14;;39356:185;;;;:::o;39547:220::-;39687:34;39683:1;39675:6;39671:14;39664:58;39756:3;39751:2;39743:6;39739:15;39732:28;39547:220;:::o;39773:366::-;39915:3;39936:67;40000:2;39995:3;39936:67;:::i;:::-;39929:74;;40012:93;40101:3;40012:93;:::i;:::-;40130:2;40125:3;40121:12;40114:19;;39773:366;;;:::o;40145:419::-;40311:4;40349:2;40338:9;40334:18;40326:26;;40398:9;40392:4;40388:20;40384:1;40373:9;40369:17;40362:47;40426:131;40552:4;40426:131;:::i;:::-;40418:139;;40145:419;;;:::o;40570:177::-;40710:29;40706:1;40698:6;40694:14;40687:53;40570:177;:::o;40753:366::-;40895:3;40916:67;40980:2;40975:3;40916:67;:::i;:::-;40909:74;;40992:93;41081:3;40992:93;:::i;:::-;41110:2;41105:3;41101:12;41094:19;;40753:366;;;:::o;41125:419::-;41291:4;41329:2;41318:9;41314:18;41306:26;;41378:9;41372:4;41368:20;41364:1;41353:9;41349:17;41342:47;41406:131;41532:4;41406:131;:::i;:::-;41398:139;;41125:419;;;:::o
Swarm Source
ipfs://d9115900457fef52f6b39c7af15ff8c539604df73e05525ce1eb51f48e2c9a86
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.