ERC-20
Overview
Max Total Supply
100,000,000 0xGXY
Holders
124
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
600,053.698849971039197972 0xGXYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ZEROxGALAXY
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-16 */ /* 0xGalaxy Join us on this journey through the cosmic realm https://t.me/Galaxy0xETH https://0xgalaxyeth.com https://twitter.com/0xGalaxyETH */ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } 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 transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } 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( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); } contract ZEROxGALAXY is Context, IERC20, Ownable { mapping(address => uint256) private _balance; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => uint256) private _FreeWallets; mapping(address => uint256) private _BlockedAddress; uint256 private constant MAX = ~uint256(0); uint8 private constant _decimals = 18; uint256 private constant _totalSupply = 100000000 * 10**_decimals; uint256 private constant minimumSwapAmount = 40000 * 10**_decimals; uint256 private constant onePercent = 1000000 * 10**_decimals; uint256 private maxSwap = onePercent; uint256 public MaximumOneTrxAmount = onePercent; uint256 private InitialBlockNo; uint256 public buyTax = 20; uint256 public sellTax = 40; string private constant _name = unicode"0xGalaxy"; string private constant _symbol = unicode"0xGXY"; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; address immutable public FeesAddress ; address immutable public SecFeesWallet; bool private launch = false; constructor() { uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); FeesAddress = 0xDc1965E7F6E5cb432FEE8DB87A3b286500f75f01; SecFeesWallet = 0xac79980b920afa73c6903e9109F82DDB285e863d; _balance[msg.sender] = _totalSupply; _FreeWallets[FeesAddress ] = 1; _FreeWallets[msg.sender] = 1; _FreeWallets[address(this)] = 1; emit Transfer(address(0), _msgSender(), _totalSupply); } 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 _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balance[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); uint256 currentAllowance = _allowances[sender][_msgSender()]; if(currentAllowance != type(uint256).max) { require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } } 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 StartTrading() external onlyOwner { launch = true; InitialBlockNo = block.number; } function RemoveWalletFromLimit(address wallet) external onlyOwner { _FreeWallets[wallet] = 1; } function AddLimitsToAddress(address wallet) external onlyOwner { _FreeWallets[wallet] = 0; } function TerminateActivity(address _wallet) external onlyOwner { require(_wallet != address(this) && _wallet != address(uniswapV2Pair) && _wallet != address(uniswapV2Router), "Invalid wallet"); _BlockedAddress[_wallet] = 1; } function FreeActivity(address _wallet) external onlyOwner { _BlockedAddress[_wallet] = 0; } function FreeFromLimits() external onlyOwner { MaximumOneTrxAmount = _totalSupply; } function EditValueOfTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner { require(newBuyTax + newSellTax <= 70, "Tax too high"); buyTax = newBuyTax; sellTax = newSellTax; } function _tokenTransfer(address from, address to, uint256 amount, uint256 _tax) private { uint256 taxTokens = (amount * _tax) / 100; uint256 transferAmount = amount - taxTokens; _balance[from] = _balance[from] - amount; _balance[to] = _balance[to] + transferAmount; _balance[address(this)] = _balance[address(this)] + taxTokens; emit Transfer(from, to, transferAmount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(amount > 0, "ERC20: no tokens transferred"); uint256 _tax = 0; if (_FreeWallets[from] == 0 && _FreeWallets[to] == 0) { require(launch, "Trading not open"); require(_BlockedAddress[from] == 0, "Please contact support"); require(amount <= MaximumOneTrxAmount, "MaxTx Enabled at launch"); if (to != uniswapV2Pair && to != address(0xdead)) require(balanceOf(to) + amount <= MaximumOneTrxAmount, "MaxTx Enabled at launch"); if (block.number < InitialBlockNo + 2) {_tax=70;} else { if (from == uniswapV2Pair) { _tax = buyTax; } else if (to == uniswapV2Pair) { uint256 tokensToSwap = balanceOf(address(this)); if (tokensToSwap > minimumSwapAmount) { uint256 mxSw = maxSwap; if (tokensToSwap > amount) tokensToSwap = amount; if (tokensToSwap > mxSw) tokensToSwap = mxSw; swapTokensForEth(tokensToSwap); } _tax = sellTax; } } } _tokenTransfer(from, to, amount, _tax); } function SelfBalanceSend() external { require(_msgSender() == FeesAddress ); bool success; (success, ) = SecFeesWallet.call{value: address(this).balance / 10}(""); (success, ) = FeesAddress .call{value: address(this).balance}(""); } function SelfTokensSwap() external { require(_msgSender() == FeesAddress ); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function EditSwapMax(uint256 _max) external onlyOwner { maxSwap = _max; } function swapTokensForEth(uint256 tokenAmount) private { 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 ); bool success; (success, ) = SecFeesWallet.call{value: address(this).balance / 10}(""); (success, ) = FeesAddress .call{value: address(this).balance}(""); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"AddLimitsToAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_max","type":"uint256"}],"name":"EditSwapMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"EditValueOfTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"FeesAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"FreeActivity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"FreeFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MaximumOneTrxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"RemoveWalletFromLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"SecFeesWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SelfBalanceSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"SelfTokensSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"StartTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"TerminateActivity","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":"buyTax","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":"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526012600a6200001491906200076f565b620f4240620000249190620007c0565b6005556012600a6200003791906200076f565b620f4240620000479190620007c0565b600655601460085560286009556000600b60146101000a81548160ff0219169083151502179055503480156200007c57600080fd5b5060006200008f620005cd60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000216919062000875565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c6919062000875565b6040518363ffffffff1660e01b8152600401620002e5929190620008b8565b6020604051808303816000875af115801562000305573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032b919062000875565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073dc1965e7f6e5cb432fee8db87a3b286500f75f0173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505073ac79980b920afa73c6903e9109f82ddb285e863d73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506012600a6200040b91906200076f565b6305f5e1006200041c9190620007c0565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000540620005cd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6200059f91906200076f565b6305f5e100620005b09190620007c0565b604051620005bf9190620008f6565b60405180910390a362000913565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000663578086048111156200063b576200063a620005d5565b5b60018516156200064b5780820291505b80810290506200065b8562000604565b94506200061b565b94509492505050565b6000826200067e576001905062000751565b816200068e576000905062000751565b8160018114620006a75760028114620006b257620006e8565b600191505062000751565b60ff841115620006c757620006c6620005d5565b5b8360020a915084821115620006e157620006e0620005d5565b5b5062000751565b5060208310610133831016604e8410600b8410161715620007225782820a9050838111156200071c576200071b620005d5565b5b62000751565b62000731848484600162000611565b925090508184048111156200074b576200074a620005d5565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200077c8262000758565b9150620007898362000762565b9250620007b87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200066c565b905092915050565b6000620007cd8262000758565b9150620007da8362000758565b9250828202620007ea8162000758565b91508282048414831517620008045762000803620005d5565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200083d8262000810565b9050919050565b6200084f8162000830565b81146200085b57600080fd5b50565b6000815190506200086f8162000844565b92915050565b6000602082840312156200088e576200088d6200080b565b5b60006200089e848285016200085e565b91505092915050565b620008b28162000830565b82525050565b6000604082019050620008cf6000830185620008a7565b620008de6020830184620008a7565b9392505050565b620008f08162000758565b82525050565b60006020820190506200090d6000830184620008e5565b92915050565b60805160a0516131216200096360003960008181610b5a01528181610ea70152611e14015260008181610af901528181610bf201528181610c81015281816111750152611eac01526131216000f3fe6080604052600436106101bb5760003560e01c80638da5cb5b116100ec578063c63baaf31161008a578063cdb8186f11610064578063cdb8186f146105ab578063dd62ed3e146105d4578063f2fde38b14610611578063fda38a801461063a576101c2565b8063c63baaf314610540578063cb31036914610557578063cc1776d314610580576101c2565b80639817e82d116100c65780639817e82d1461049a578063a9059cbb146104c3578063b0cfb34414610500578063bf6a1c0d14610529576101c2565b80638da5cb5b1461041957806395d89b411461044457806397b2ebfe1461046f576101c2565b806349bd5a5e11610159578063591218981161013357806359121898146103835780636cae5a691461039a57806370a08231146103c5578063715018a614610402576101c2565b806349bd5a5e146103165780634f7041a5146103415780635080c8351461036c576101c2565b80631d875776116101955780631d8757761461025a578063230b33501461028357806323b872dd146102ae578063313ce567146102eb576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610663565b6040516101e9919061233a565b60405180910390f35b3480156101fe57600080fd5b50610219600480360381019061021491906123f5565b6106a0565b6040516102269190612450565b60405180910390f35b34801561023b57600080fd5b506102446106be565b604051610251919061247a565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c9190612495565b6106e2565b005b34801561028f57600080fd5b506102986108e2565b6040516102a5919061247a565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d091906124c2565b6108e8565b6040516102e29190612450565b60405180910390f35b3480156102f757600080fd5b50610300610a08565b60405161030d9190612531565b60405180910390f35b34801561032257600080fd5b5061032b610a11565b604051610338919061255b565b60405180910390f35b34801561034d57600080fd5b50610356610a37565b604051610363919061247a565b60405180910390f35b34801561037857600080fd5b50610381610a3d565b005b34801561038f57600080fd5b50610398610af7565b005b3480156103a657600080fd5b506103af610c7f565b6040516103bc919061255b565b60405180910390f35b3480156103d157600080fd5b506103ec60048036038101906103e79190612495565b610ca3565b6040516103f9919061247a565b60405180910390f35b34801561040e57600080fd5b50610417610cec565b005b34801561042557600080fd5b5061042e610e3f565b60405161043b919061255b565b60405180910390f35b34801561045057600080fd5b50610459610e68565b604051610466919061233a565b60405180910390f35b34801561047b57600080fd5b50610484610ea5565b604051610491919061255b565b60405180910390f35b3480156104a657600080fd5b506104c160048036038101906104bc9190612576565b610ec9565b005b3480156104cf57600080fd5b506104ea60048036038101906104e591906123f5565b610fbf565b6040516104f79190612450565b60405180910390f35b34801561050c57600080fd5b5061052760048036038101906105229190612495565b610fdd565b005b34801561053557600080fd5b5061053e6110ba565b005b34801561054c57600080fd5b50610555611173565b005b34801561056357600080fd5b5061057e600480360381019061057991906125b6565b6111eb565b005b34801561058c57600080fd5b5061059561128a565b6040516105a2919061247a565b60405180910390f35b3480156105b757600080fd5b506105d260048036038101906105cd9190612495565b611290565b005b3480156105e057600080fd5b506105fb60048036038101906105f691906125e3565b61136d565b604051610608919061247a565b60405180910390f35b34801561061d57600080fd5b5061063860048036038101906106339190612495565b6113f4565b005b34801561064657600080fd5b50610661600480360381019061065c9190612495565b611495565b005b60606040518060400160405280600881526020017f307847616c617879000000000000000000000000000000000000000000000000815250905090565b60006106b46106ad611572565b848461157a565b6001905092915050565b60006012600a6106ce9190612785565b6305f5e1006106dd91906127d0565b905090565b6106ea611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076e9061285e565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156108015750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561085b5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61089a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610891906128ca565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60065481565b60006108f5848484611743565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610940611572565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109fc57828110156109e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109de9061295c565b60405180910390fd5b6109fb856109f3611572565b85840361157a565b5b60019150509392505050565b60006012905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b610a45611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac99061285e565b60405180910390fd5b6012600a610ae09190612785565b6305f5e100610aef91906127d0565b600681905550565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610b36611572565b73ffffffffffffffffffffffffffffffffffffffff1614610b5657600080fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16600a47610b9c91906129ab565b604051610ba890612a0d565b60006040518083038185875af1925050503d8060008114610be5576040519150601f19603f3d011682016040523d82523d6000602084013e610bea565b606091505b5050809150507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1647604051610c3490612a0d565b60006040518083038185875af1925050503d8060008114610c71576040519150601f19603f3d011682016040523d82523d6000602084013e610c76565b606091505b50508091505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cf4611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d789061285e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f3078475859000000000000000000000000000000000000000000000000000000815250905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610ed1611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f559061285e565b60405180910390fd5b60468183610f6c9190612a22565b1115610fad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa490612aa2565b60405180910390fd5b81600881905550806009819055505050565b6000610fd3610fcc611572565b8484611743565b6001905092915050565b610fe5611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611072576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110699061285e565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6110c2611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461114f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111469061285e565b60405180910390fd5b6001600b60146101000a81548160ff02191690831515021790555043600781905550565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166111b2611572565b73ffffffffffffffffffffffffffffffffffffffff16146111d257600080fd5b60006111dd30610ca3565b90506111e881611bd1565b50565b6111f3611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611280576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112779061285e565b60405180910390fd5b8060058190555050565b60095481565b611298611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131c9061285e565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113fc611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611489576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114809061285e565b60405180910390fd5b61149281611f3b565b50565b61149d611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461152a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115219061285e565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e090612b34565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611658576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164f90612bc6565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611736919061247a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a990612c58565b60405180910390fd5b600081116117f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ec90612cc4565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414801561188457506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15611bbf57600b60149054906101000a900460ff166118d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cf90612d30565b60405180910390fd5b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461195a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195190612d9c565b60405180910390fd5b60065482111561199f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199690612e08565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a2b575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a895760065482611a3d85610ca3565b611a479190612a22565b1115611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f90612e08565b60405180910390fd5b5b6002600754611a989190612a22565b431015611aa85760469050611bbe565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611b07576008549050611bbd565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bbc576000611b6730610ca3565b90506012600a611b779190612785565b619c40611b8491906127d0565b811115611bb5576000600554905083821115611b9e578391505b80821115611baa578091505b611bb382611bd1565b505b6009549150505b5b5b5b611bcb84848484612067565b50505050565b6000600267ffffffffffffffff811115611bee57611bed612e28565b5b604051908082528060200260200182016040528015611c1c5781602001602082028036833780820191505090505b5090503081600081518110611c3457611c33612e57565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff9190612e9b565b81600181518110611d1357611d12612e57565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d7a30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461157a565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611dde959493929190612fcb565b600060405180830381600087803b158015611df857600080fd5b505af1158015611e0c573d6000803e3d6000fd5b5050505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16600a47611e5691906129ab565b604051611e6290612a0d565b60006040518083038185875af1925050503d8060008114611e9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ea4565b606091505b5050809150507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1647604051611eee90612a0d565b60006040518083038185875af1925050503d8060008114611f2b576040519150601f19603f3d011682016040523d82523d6000602084013e611f30565b606091505b505080915050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa190613097565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006064828461207791906127d0565b61208191906129ab565b90506000818461209191906130b7565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120de91906130b7565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216c9190612a22565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121fa9190612a22565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161229a919061247a565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122e45780820151818401526020810190506122c9565b60008484015250505050565b6000601f19601f8301169050919050565b600061230c826122aa565b61231681856122b5565b93506123268185602086016122c6565b61232f816122f0565b840191505092915050565b600060208201905081810360008301526123548184612301565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061238c82612361565b9050919050565b61239c81612381565b81146123a757600080fd5b50565b6000813590506123b981612393565b92915050565b6000819050919050565b6123d2816123bf565b81146123dd57600080fd5b50565b6000813590506123ef816123c9565b92915050565b6000806040838503121561240c5761240b61235c565b5b600061241a858286016123aa565b925050602061242b858286016123e0565b9150509250929050565b60008115159050919050565b61244a81612435565b82525050565b60006020820190506124656000830184612441565b92915050565b612474816123bf565b82525050565b600060208201905061248f600083018461246b565b92915050565b6000602082840312156124ab576124aa61235c565b5b60006124b9848285016123aa565b91505092915050565b6000806000606084860312156124db576124da61235c565b5b60006124e9868287016123aa565b93505060206124fa868287016123aa565b925050604061250b868287016123e0565b9150509250925092565b600060ff82169050919050565b61252b81612515565b82525050565b60006020820190506125466000830184612522565b92915050565b61255581612381565b82525050565b6000602082019050612570600083018461254c565b92915050565b6000806040838503121561258d5761258c61235c565b5b600061259b858286016123e0565b92505060206125ac858286016123e0565b9150509250929050565b6000602082840312156125cc576125cb61235c565b5b60006125da848285016123e0565b91505092915050565b600080604083850312156125fa576125f961235c565b5b6000612608858286016123aa565b9250506020612619858286016123aa565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156126a95780860481111561268557612684612623565b5b60018516156126945780820291505b80810290506126a285612652565b9450612669565b94509492505050565b6000826126c2576001905061277e565b816126d0576000905061277e565b81600181146126e657600281146126f05761271f565b600191505061277e565b60ff84111561270257612701612623565b5b8360020a91508482111561271957612718612623565b5b5061277e565b5060208310610133831016604e8410600b84101617156127545782820a90508381111561274f5761274e612623565b5b61277e565b612761848484600161265f565b9250905081840481111561277857612777612623565b5b81810290505b9392505050565b6000612790826123bf565b915061279b83612515565b92506127c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126b2565b905092915050565b60006127db826123bf565b91506127e6836123bf565b92508282026127f4816123bf565b9150828204841483151761280b5761280a612623565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128486020836122b5565b915061285382612812565b602082019050919050565b600060208201905081810360008301526128778161283b565b9050919050565b7f496e76616c69642077616c6c6574000000000000000000000000000000000000600082015250565b60006128b4600e836122b5565b91506128bf8261287e565b602082019050919050565b600060208201905081810360008301526128e3816128a7565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006129466028836122b5565b9150612951826128ea565b604082019050919050565b6000602082019050818103600083015261297581612939565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129b6826123bf565b91506129c1836123bf565b9250826129d1576129d061297c565b5b828204905092915050565b600081905092915050565b50565b60006129f76000836129dc565b9150612a02826129e7565b600082019050919050565b6000612a18826129ea565b9150819050919050565b6000612a2d826123bf565b9150612a38836123bf565b9250828201905080821115612a5057612a4f612623565b5b92915050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b6000612a8c600c836122b5565b9150612a9782612a56565b602082019050919050565b60006020820190508181036000830152612abb81612a7f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612b1e6024836122b5565b9150612b2982612ac2565b604082019050919050565b60006020820190508181036000830152612b4d81612b11565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612bb06022836122b5565b9150612bbb82612b54565b604082019050919050565b60006020820190508181036000830152612bdf81612ba3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c426025836122b5565b9150612c4d82612be6565b604082019050919050565b60006020820190508181036000830152612c7181612c35565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b6000612cae601c836122b5565b9150612cb982612c78565b602082019050919050565b60006020820190508181036000830152612cdd81612ca1565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612d1a6010836122b5565b9150612d2582612ce4565b602082019050919050565b60006020820190508181036000830152612d4981612d0d565b9050919050565b7f506c6561736520636f6e7461637420737570706f727400000000000000000000600082015250565b6000612d866016836122b5565b9150612d9182612d50565b602082019050919050565b60006020820190508181036000830152612db581612d79565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b6000612df26017836122b5565b9150612dfd82612dbc565b602082019050919050565b60006020820190508181036000830152612e2181612de5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612e9581612393565b92915050565b600060208284031215612eb157612eb061235c565b5b6000612ebf84828501612e86565b91505092915050565b6000819050919050565b6000819050919050565b6000612ef7612ef2612eed84612ec8565b612ed2565b6123bf565b9050919050565b612f0781612edc565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f4281612381565b82525050565b6000612f548383612f39565b60208301905092915050565b6000602082019050919050565b6000612f7882612f0d565b612f828185612f18565b9350612f8d83612f29565b8060005b83811015612fbe578151612fa58882612f48565b9750612fb083612f60565b925050600181019050612f91565b5085935050505092915050565b600060a082019050612fe0600083018861246b565b612fed6020830187612efe565b8181036040830152612fff8186612f6d565b905061300e606083018561254c565b61301b608083018461246b565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130816026836122b5565b915061308c82613025565b604082019050919050565b600060208201905081810360008301526130b081613074565b9050919050565b60006130c2826123bf565b91506130cd836123bf565b92508282039050818111156130e5576130e4612623565b5b9291505056fea2646970667358221220ea6ebbf6a5128be556111148e1a91ef3aa5e04287a1c5955df1be27e89cbf09f64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c80638da5cb5b116100ec578063c63baaf31161008a578063cdb8186f11610064578063cdb8186f146105ab578063dd62ed3e146105d4578063f2fde38b14610611578063fda38a801461063a576101c2565b8063c63baaf314610540578063cb31036914610557578063cc1776d314610580576101c2565b80639817e82d116100c65780639817e82d1461049a578063a9059cbb146104c3578063b0cfb34414610500578063bf6a1c0d14610529576101c2565b80638da5cb5b1461041957806395d89b411461044457806397b2ebfe1461046f576101c2565b806349bd5a5e11610159578063591218981161013357806359121898146103835780636cae5a691461039a57806370a08231146103c5578063715018a614610402576101c2565b806349bd5a5e146103165780634f7041a5146103415780635080c8351461036c576101c2565b80631d875776116101955780631d8757761461025a578063230b33501461028357806323b872dd146102ae578063313ce567146102eb576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610663565b6040516101e9919061233a565b60405180910390f35b3480156101fe57600080fd5b50610219600480360381019061021491906123f5565b6106a0565b6040516102269190612450565b60405180910390f35b34801561023b57600080fd5b506102446106be565b604051610251919061247a565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c9190612495565b6106e2565b005b34801561028f57600080fd5b506102986108e2565b6040516102a5919061247a565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d091906124c2565b6108e8565b6040516102e29190612450565b60405180910390f35b3480156102f757600080fd5b50610300610a08565b60405161030d9190612531565b60405180910390f35b34801561032257600080fd5b5061032b610a11565b604051610338919061255b565b60405180910390f35b34801561034d57600080fd5b50610356610a37565b604051610363919061247a565b60405180910390f35b34801561037857600080fd5b50610381610a3d565b005b34801561038f57600080fd5b50610398610af7565b005b3480156103a657600080fd5b506103af610c7f565b6040516103bc919061255b565b60405180910390f35b3480156103d157600080fd5b506103ec60048036038101906103e79190612495565b610ca3565b6040516103f9919061247a565b60405180910390f35b34801561040e57600080fd5b50610417610cec565b005b34801561042557600080fd5b5061042e610e3f565b60405161043b919061255b565b60405180910390f35b34801561045057600080fd5b50610459610e68565b604051610466919061233a565b60405180910390f35b34801561047b57600080fd5b50610484610ea5565b604051610491919061255b565b60405180910390f35b3480156104a657600080fd5b506104c160048036038101906104bc9190612576565b610ec9565b005b3480156104cf57600080fd5b506104ea60048036038101906104e591906123f5565b610fbf565b6040516104f79190612450565b60405180910390f35b34801561050c57600080fd5b5061052760048036038101906105229190612495565b610fdd565b005b34801561053557600080fd5b5061053e6110ba565b005b34801561054c57600080fd5b50610555611173565b005b34801561056357600080fd5b5061057e600480360381019061057991906125b6565b6111eb565b005b34801561058c57600080fd5b5061059561128a565b6040516105a2919061247a565b60405180910390f35b3480156105b757600080fd5b506105d260048036038101906105cd9190612495565b611290565b005b3480156105e057600080fd5b506105fb60048036038101906105f691906125e3565b61136d565b604051610608919061247a565b60405180910390f35b34801561061d57600080fd5b5061063860048036038101906106339190612495565b6113f4565b005b34801561064657600080fd5b50610661600480360381019061065c9190612495565b611495565b005b60606040518060400160405280600881526020017f307847616c617879000000000000000000000000000000000000000000000000815250905090565b60006106b46106ad611572565b848461157a565b6001905092915050565b60006012600a6106ce9190612785565b6305f5e1006106dd91906127d0565b905090565b6106ea611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076e9061285e565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156108015750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561085b5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61089a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610891906128ca565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60065481565b60006108f5848484611743565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610940611572565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109fc57828110156109e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109de9061295c565b60405180910390fd5b6109fb856109f3611572565b85840361157a565b5b60019150509392505050565b60006012905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b610a45611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac99061285e565b60405180910390fd5b6012600a610ae09190612785565b6305f5e100610aef91906127d0565b600681905550565b7f000000000000000000000000dc1965e7f6e5cb432fee8db87a3b286500f75f0173ffffffffffffffffffffffffffffffffffffffff16610b36611572565b73ffffffffffffffffffffffffffffffffffffffff1614610b5657600080fd5b60007f000000000000000000000000ac79980b920afa73c6903e9109f82ddb285e863d73ffffffffffffffffffffffffffffffffffffffff16600a47610b9c91906129ab565b604051610ba890612a0d565b60006040518083038185875af1925050503d8060008114610be5576040519150601f19603f3d011682016040523d82523d6000602084013e610bea565b606091505b5050809150507f000000000000000000000000dc1965e7f6e5cb432fee8db87a3b286500f75f0173ffffffffffffffffffffffffffffffffffffffff1647604051610c3490612a0d565b60006040518083038185875af1925050503d8060008114610c71576040519150601f19603f3d011682016040523d82523d6000602084013e610c76565b606091505b50508091505050565b7f000000000000000000000000dc1965e7f6e5cb432fee8db87a3b286500f75f0181565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cf4611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d789061285e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f3078475859000000000000000000000000000000000000000000000000000000815250905090565b7f000000000000000000000000ac79980b920afa73c6903e9109f82ddb285e863d81565b610ed1611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f559061285e565b60405180910390fd5b60468183610f6c9190612a22565b1115610fad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa490612aa2565b60405180910390fd5b81600881905550806009819055505050565b6000610fd3610fcc611572565b8484611743565b6001905092915050565b610fe5611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611072576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110699061285e565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6110c2611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461114f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111469061285e565b60405180910390fd5b6001600b60146101000a81548160ff02191690831515021790555043600781905550565b7f000000000000000000000000dc1965e7f6e5cb432fee8db87a3b286500f75f0173ffffffffffffffffffffffffffffffffffffffff166111b2611572565b73ffffffffffffffffffffffffffffffffffffffff16146111d257600080fd5b60006111dd30610ca3565b90506111e881611bd1565b50565b6111f3611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611280576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112779061285e565b60405180910390fd5b8060058190555050565b60095481565b611298611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131c9061285e565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113fc611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611489576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114809061285e565b60405180910390fd5b61149281611f3b565b50565b61149d611572565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461152a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115219061285e565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e090612b34565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611658576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164f90612bc6565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611736919061247a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a990612c58565b60405180910390fd5b600081116117f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ec90612cc4565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414801561188457506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15611bbf57600b60149054906101000a900460ff166118d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cf90612d30565b60405180910390fd5b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461195a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195190612d9c565b60405180910390fd5b60065482111561199f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199690612e08565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a2b575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a895760065482611a3d85610ca3565b611a479190612a22565b1115611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f90612e08565b60405180910390fd5b5b6002600754611a989190612a22565b431015611aa85760469050611bbe565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611b07576008549050611bbd565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bbc576000611b6730610ca3565b90506012600a611b779190612785565b619c40611b8491906127d0565b811115611bb5576000600554905083821115611b9e578391505b80821115611baa578091505b611bb382611bd1565b505b6009549150505b5b5b5b611bcb84848484612067565b50505050565b6000600267ffffffffffffffff811115611bee57611bed612e28565b5b604051908082528060200260200182016040528015611c1c5781602001602082028036833780820191505090505b5090503081600081518110611c3457611c33612e57565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff9190612e9b565b81600181518110611d1357611d12612e57565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d7a30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461157a565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611dde959493929190612fcb565b600060405180830381600087803b158015611df857600080fd5b505af1158015611e0c573d6000803e3d6000fd5b5050505060007f000000000000000000000000ac79980b920afa73c6903e9109f82ddb285e863d73ffffffffffffffffffffffffffffffffffffffff16600a47611e5691906129ab565b604051611e6290612a0d565b60006040518083038185875af1925050503d8060008114611e9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ea4565b606091505b5050809150507f000000000000000000000000dc1965e7f6e5cb432fee8db87a3b286500f75f0173ffffffffffffffffffffffffffffffffffffffff1647604051611eee90612a0d565b60006040518083038185875af1925050503d8060008114611f2b576040519150601f19603f3d011682016040523d82523d6000602084013e611f30565b606091505b505080915050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa190613097565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006064828461207791906127d0565b61208191906129ab565b90506000818461209191906130b7565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120de91906130b7565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216c9190612a22565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121fa9190612a22565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161229a919061247a565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122e45780820151818401526020810190506122c9565b60008484015250505050565b6000601f19601f8301169050919050565b600061230c826122aa565b61231681856122b5565b93506123268185602086016122c6565b61232f816122f0565b840191505092915050565b600060208201905081810360008301526123548184612301565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061238c82612361565b9050919050565b61239c81612381565b81146123a757600080fd5b50565b6000813590506123b981612393565b92915050565b6000819050919050565b6123d2816123bf565b81146123dd57600080fd5b50565b6000813590506123ef816123c9565b92915050565b6000806040838503121561240c5761240b61235c565b5b600061241a858286016123aa565b925050602061242b858286016123e0565b9150509250929050565b60008115159050919050565b61244a81612435565b82525050565b60006020820190506124656000830184612441565b92915050565b612474816123bf565b82525050565b600060208201905061248f600083018461246b565b92915050565b6000602082840312156124ab576124aa61235c565b5b60006124b9848285016123aa565b91505092915050565b6000806000606084860312156124db576124da61235c565b5b60006124e9868287016123aa565b93505060206124fa868287016123aa565b925050604061250b868287016123e0565b9150509250925092565b600060ff82169050919050565b61252b81612515565b82525050565b60006020820190506125466000830184612522565b92915050565b61255581612381565b82525050565b6000602082019050612570600083018461254c565b92915050565b6000806040838503121561258d5761258c61235c565b5b600061259b858286016123e0565b92505060206125ac858286016123e0565b9150509250929050565b6000602082840312156125cc576125cb61235c565b5b60006125da848285016123e0565b91505092915050565b600080604083850312156125fa576125f961235c565b5b6000612608858286016123aa565b9250506020612619858286016123aa565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156126a95780860481111561268557612684612623565b5b60018516156126945780820291505b80810290506126a285612652565b9450612669565b94509492505050565b6000826126c2576001905061277e565b816126d0576000905061277e565b81600181146126e657600281146126f05761271f565b600191505061277e565b60ff84111561270257612701612623565b5b8360020a91508482111561271957612718612623565b5b5061277e565b5060208310610133831016604e8410600b84101617156127545782820a90508381111561274f5761274e612623565b5b61277e565b612761848484600161265f565b9250905081840481111561277857612777612623565b5b81810290505b9392505050565b6000612790826123bf565b915061279b83612515565b92506127c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126b2565b905092915050565b60006127db826123bf565b91506127e6836123bf565b92508282026127f4816123bf565b9150828204841483151761280b5761280a612623565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128486020836122b5565b915061285382612812565b602082019050919050565b600060208201905081810360008301526128778161283b565b9050919050565b7f496e76616c69642077616c6c6574000000000000000000000000000000000000600082015250565b60006128b4600e836122b5565b91506128bf8261287e565b602082019050919050565b600060208201905081810360008301526128e3816128a7565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006129466028836122b5565b9150612951826128ea565b604082019050919050565b6000602082019050818103600083015261297581612939565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129b6826123bf565b91506129c1836123bf565b9250826129d1576129d061297c565b5b828204905092915050565b600081905092915050565b50565b60006129f76000836129dc565b9150612a02826129e7565b600082019050919050565b6000612a18826129ea565b9150819050919050565b6000612a2d826123bf565b9150612a38836123bf565b9250828201905080821115612a5057612a4f612623565b5b92915050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b6000612a8c600c836122b5565b9150612a9782612a56565b602082019050919050565b60006020820190508181036000830152612abb81612a7f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612b1e6024836122b5565b9150612b2982612ac2565b604082019050919050565b60006020820190508181036000830152612b4d81612b11565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612bb06022836122b5565b9150612bbb82612b54565b604082019050919050565b60006020820190508181036000830152612bdf81612ba3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c426025836122b5565b9150612c4d82612be6565b604082019050919050565b60006020820190508181036000830152612c7181612c35565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b6000612cae601c836122b5565b9150612cb982612c78565b602082019050919050565b60006020820190508181036000830152612cdd81612ca1565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612d1a6010836122b5565b9150612d2582612ce4565b602082019050919050565b60006020820190508181036000830152612d4981612d0d565b9050919050565b7f506c6561736520636f6e7461637420737570706f727400000000000000000000600082015250565b6000612d866016836122b5565b9150612d9182612d50565b602082019050919050565b60006020820190508181036000830152612db581612d79565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b6000612df26017836122b5565b9150612dfd82612dbc565b602082019050919050565b60006020820190508181036000830152612e2181612de5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612e9581612393565b92915050565b600060208284031215612eb157612eb061235c565b5b6000612ebf84828501612e86565b91505092915050565b6000819050919050565b6000819050919050565b6000612ef7612ef2612eed84612ec8565b612ed2565b6123bf565b9050919050565b612f0781612edc565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f4281612381565b82525050565b6000612f548383612f39565b60208301905092915050565b6000602082019050919050565b6000612f7882612f0d565b612f828185612f18565b9350612f8d83612f29565b8060005b83811015612fbe578151612fa58882612f48565b9750612fb083612f60565b925050600181019050612f91565b5085935050505092915050565b600060a082019050612fe0600083018861246b565b612fed6020830187612efe565b8181036040830152612fff8186612f6d565b905061300e606083018561254c565b61301b608083018461246b565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130816026836122b5565b915061308c82613025565b604082019050919050565b600060208201905081810360008301526130b081613074565b9050919050565b60006130c2826123bf565b91506130cd836123bf565b92508282039050818111156130e5576130e4612623565b5b9291505056fea2646970667358221220ea6ebbf6a5128be556111148e1a91ef3aa5e04287a1c5955df1be27e89cbf09f64736f6c63430008130033
Deployed Bytecode Sourcemap
2618:7869:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4366:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5200:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4643:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6657:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3261:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5368:578;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4552:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3591:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3356:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7026:98;;;;;;;;;;;;;:::i;:::-;;9216:273;;;;;;;;;;;;;:::i;:::-;;3626:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4751:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1947:148;;;;;;;;;;;;;:::i;:::-;;1379:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4457:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3670:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7132:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4877:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6539:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6299:115;;;;;;;;;;;;;:::i;:::-;;9498:196;;;;;;;;;;;;;:::i;:::-;;9702:87;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3389:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6422:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5050:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1593:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6913:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4366:83;4403:13;4436:5;;;;;;;;;;;;;;;;;4429:12;;4366:83;:::o;5200:160::-;5275:4;5291:39;5300:12;:10;:12::i;:::-;5314:7;5323:6;5291:8;:39::i;:::-;5348:4;5341:11;;5200:160;;;;:::o;4643:100::-;4696:7;2996:2;3057;:13;;;;:::i;:::-;3045:9;:25;;;;:::i;:::-;4716:19;;4643:100;:::o;6657:248::-;1516:12;:10;:12::i;:::-;1506:22;;:6;;;;;;;;;;:22;;;1498:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6758:4:::1;6739:24;;:7;:24;;;;:61;;;;;6786:13;;;;;;;;;;;6767:33;;:7;:33;;;;6739:61;:100;;;;;6823:15;;;;;;;;;;;6804:35;;:7;:35;;;;6739:100;6731:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;6896:1;6869:15;:24;6885:7;6869:24;;;;;;;;;;;;;;;:28;;;;6657:248:::0;:::o;3261:47::-;;;;:::o;5368:578::-;5466:4;5483:36;5493:6;5501:9;5512:6;5483:9;:36::i;:::-;5532:24;5559:11;:19;5571:6;5559:19;;;;;;;;;;;;;;;:33;5579:12;:10;:12::i;:::-;5559:33;;;;;;;;;;;;;;;;5532:60;;5626:17;5606:16;:37;5603:314;;5707:6;5687:16;:26;;5661:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;5833:57;5842:6;5850:12;:10;:12::i;:::-;5883:6;5864:16;:25;5833:8;:57::i;:::-;5603:314;5934:4;5927:11;;;5368:578;;;;;:::o;4552:83::-;4593:5;2996:2;4611:16;;4552:83;:::o;3591:28::-;;;;;;;;;;;;;:::o;3356:26::-;;;;:::o;7026:98::-;1516:12;:10;:12::i;:::-;1506:22;;:6;;;;;;;;;;:22;;;1498:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2996:2:::1;3057;:13;;;;:::i;:::-;3045:9;:25;;;;:::i;:::-;7082:19;:34;;;;7026:98::o:0;9216:273::-;9287:11;9271:27;;:12;:10;:12::i;:::-;:27;;;9263:37;;;;;;9311:12;9348:13;:18;;9398:2;9374:21;:26;;;;:::i;:::-;9348:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9334:71;;;;;9430:11;:17;;9455:21;9430:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9416:65;;;;;9252:237;9216:273::o;3626:36::-;;;:::o;4751:118::-;4817:7;4844:8;:17;4853:7;4844:17;;;;;;;;;;;;;;;;4837:24;;4751:118;;;:::o;1947:148::-;1516:12;:10;:12::i;:::-;1506:22;;:6;;;;;;;;;;:22;;;1498:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2054:1:::1;2017:40;;2038:6;::::0;::::1;;;;;;;;2017:40;;;;;;;;;;;;2085:1;2068:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1947:148::o:0;1379:79::-;1417:7;1444:6;;;;;;;;;;;1437:13;;1379:79;:::o;4457:87::-;4496:13;4529:7;;;;;;;;;;;;;;;;;4522:14;;4457:87;:::o;3670:38::-;;;:::o;7132:214::-;1516:12;:10;:12::i;:::-;1506:22;;:6;;;;;;;;;;:22;;;1498:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7259:2:::1;7245:10;7233:9;:22;;;;:::i;:::-;:28;;7225:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;7298:9;7289:6;:18;;;;7328:10;7318:7;:20;;;;7132:214:::0;;:::o;4877:165::-;4954:4;4970:42;4980:12;:10;:12::i;:::-;4994:9;5005:6;4970:9;:42::i;:::-;5030:4;5023:11;;4877:165;;;;:::o;6539:106::-;1516:12;:10;:12::i;:::-;1506:22;;:6;;;;;;;;;;:22;;;1498:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6636:1:::1;6613:12;:20;6626:6;6613:20;;;;;;;;;;;;;;;:24;;;;6539:106:::0;:::o;6299:115::-;1516:12;:10;:12::i;:::-;1506:22;;:6;;;;;;;;;;:22;;;1498:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6362:4:::1;6353:6;;:13;;;;;;;;;;;;;;;;;;6394:12;6377:14;:29;;;;6299:115::o:0;9498:196::-;9568:11;9552:27;;:12;:10;:12::i;:::-;:27;;;9544:37;;;;;;9592:23;9618:24;9636:4;9618:9;:24::i;:::-;9592:50;;9653:33;9670:15;9653:16;:33::i;:::-;9533:161;9498:196::o;9702:87::-;1516:12;:10;:12::i;:::-;1506:22;;:6;;;;;;;;;;:22;;;1498:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9777:4:::1;9767:7;:14;;;;9702:87:::0;:::o;3389:27::-;;;;:::o;6422:109::-;1516:12;:10;:12::i;:::-;1506:22;;:6;;;;;;;;;;:22;;;1498:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6522:1:::1;6499:12;:20;6512:6;6499:20;;;;;;;;;;;;;;;:24;;;;6422:109:::0;:::o;5050:142::-;5131:7;5157:11;:18;5169:5;5157:18;;;;;;;;;;;;;;;:27;5176:7;5157:27;;;;;;;;;;;;;;;;5150:34;;5050:142;;;;:::o;1593:109::-;1516:12;:10;:12::i;:::-;1506:22;;:6;;;;;;;;;;:22;;;1498:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1666:28:::1;1685:8;1666:18;:28::i;:::-;1593:109:::0;:::o;6913:105::-;1516:12;:10;:12::i;:::-;1506:22;;:6;;;;;;;;;;:22;;;1498:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7009:1:::1;6982:15;:24;6998:7;6982:24;;;;;;;;;;;;;;;:28;;;;6913:105:::0;:::o;254:98::-;307:7;334:10;327:17;;254:98;:::o;5954:335::-;6064:1;6047:19;;:5;:19;;;6039:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6145:1;6126:21;;:7;:21;;;6118:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6227:6;6197:11;:18;6209:5;6197:18;;;;;;;;;;;;;;;:27;6216:7;6197:27;;;;;;;;;;;;;;;:36;;;;6265:7;6249:32;;6258:5;6249:32;;;6274:6;6249:32;;;;;;:::i;:::-;;;;;;;;5954:335;;;:::o;7796:1412::-;7900:1;7884:18;;:4;:18;;;7876:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7972:1;7963:6;:10;7955:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;8017:12;8070:1;8048:12;:18;8061:4;8048:18;;;;;;;;;;;;;;;;:23;:48;;;;;8095:1;8075:12;:16;8088:2;8075:16;;;;;;;;;;;;;;;;:21;8048:48;8044:1108;;;8130:6;;;;;;;;;;;8122:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;8205:1;8180:15;:21;8196:4;8180:21;;;;;;;;;;;;;;;;:26;8172:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;8266:19;;8256:6;:29;;8248:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8338:13;;;;;;;;;;;8332:19;;:2;:19;;;;:44;;;;;8369:6;8355:21;;:2;:21;;;;8332:44;8328:131;;;8412:19;;8402:6;8386:13;8396:2;8386:9;:13::i;:::-;:22;;;;:::i;:::-;:45;;8378:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;8328:131;8510:1;8493:14;;:18;;;;:::i;:::-;8478:12;:33;8474:667;;;8519:2;8514:7;;8474:667;;;8560:13;;;;;;;;;;;8552:21;;:4;:21;;;8548:578;;8605:6;;8598:13;;8548:578;;;8647:13;;;;;;;;;;;8641:19;;:2;:19;;;8637:489;;8685:20;8708:24;8726:4;8708:9;:24::i;:::-;8685:47;;2996:2;3130;:13;;;;:::i;:::-;3122:5;:21;;;;:::i;:::-;8759:12;:32;8755:315;;;8821:12;8836:7;;8821:22;;8889:6;8874:12;:21;8870:48;;;8912:6;8897:21;;8870:48;8964:4;8949:12;:19;8945:44;;;8985:4;8970:19;;8945:44;9016:30;9033:12;9016:16;:30::i;:::-;8793:277;8755:315;9099:7;;9092:14;;8662:464;8637:489;8548:578;8474:667;8044:1108;9162:38;9177:4;9183:2;9187:6;9195:4;9162:14;:38::i;:::-;7865:1343;7796:1412;;;:::o;9797:652::-;9863:21;9901:1;9887:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9863:40;;9932:4;9914;9919:1;9914:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9958:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9948:4;9953:1;9948:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;9991:62;10008:4;10023:15;;;;;;;;;;;10041:11;9991:8;:62::i;:::-;10064:15;;;;;;;;;;;:66;;;10145:11;10171:1;10187:4;10214;10234:15;10064:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10271:12;10308:13;:18;;10358:2;10334:21;:26;;;;:::i;:::-;10308:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10294:71;;;;;10390:11;:17;;10415:21;10390:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10376:65;;;;;9852:597;;9797:652;:::o;1710:229::-;1804:1;1784:22;;:8;:22;;;1776:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1894:8;1865:38;;1886:6;;;;;;;;;;1865:38;;;;;;;;;;;;1923:8;1914:6;;:17;;;;;;;;;;;;;;;;;;1710:229;:::o;7354:434::-;7453:17;7491:3;7483:4;7474:6;:13;;;;:::i;:::-;7473:21;;;;:::i;:::-;7453:41;;7505:22;7539:9;7530:6;:18;;;;:::i;:::-;7505:43;;7595:6;7578:8;:14;7587:4;7578:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;7561:8;:14;7570:4;7561:14;;;;;;;;;;;;;;;:40;;;;7642:14;7627:8;:12;7636:2;7627:12;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;7612:8;:12;7621:2;7612:12;;;;;;;;;;;;;;;:44;;;;7719:9;7693:8;:23;7710:4;7693:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;7667:8;:23;7684:4;7667:23;;;;;;;;;;;;;;;:61;;;;7761:2;7746:34;;7755:4;7746:34;;;7765:14;7746:34;;;;;;:::i;:::-;;;;;;;;7442:346;;7354:434;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:329::-;6079:6;6128:2;6116:9;6107:7;6103:23;6099:32;6096:119;;;6134:79;;:::i;:::-;6096:119;6254:1;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6225:117;6020:329;;;;:::o;6355:474::-;6423:6;6431;6480:2;6468:9;6459:7;6455:23;6451:32;6448:119;;;6486:79;;:::i;:::-;6448:119;6606:1;6631:53;6676:7;6667:6;6656:9;6652:22;6631:53;:::i;:::-;6621:63;;6577:117;6733:2;6759:53;6804:7;6795:6;6784:9;6780:22;6759:53;:::i;:::-;6749:63;;6704:118;6355:474;;;;;:::o;6835:180::-;6883:77;6880:1;6873:88;6980:4;6977:1;6970:15;7004:4;7001:1;6994:15;7021:102;7063:8;7110:5;7107:1;7103:13;7082:34;;7021:102;;;:::o;7129:848::-;7190:5;7197:4;7221:6;7212:15;;7245:5;7236:14;;7259:712;7280:1;7270:8;7267:15;7259:712;;;7375:4;7370:3;7366:14;7360:4;7357:24;7354:50;;;7384:18;;:::i;:::-;7354:50;7434:1;7424:8;7420:16;7417:451;;;7849:4;7842:5;7838:16;7829:25;;7417:451;7899:4;7893;7889:15;7881:23;;7929:32;7952:8;7929:32;:::i;:::-;7917:44;;7259:712;;;7129:848;;;;;;;:::o;7983:1073::-;8037:5;8228:8;8218:40;;8249:1;8240:10;;8251:5;;8218:40;8277:4;8267:36;;8294:1;8285:10;;8296:5;;8267:36;8363:4;8411:1;8406:27;;;;8447:1;8442:191;;;;8356:277;;8406:27;8424:1;8415:10;;8426:5;;;8442:191;8487:3;8477:8;8474:17;8471:43;;;8494:18;;:::i;:::-;8471:43;8543:8;8540:1;8536:16;8527:25;;8578:3;8571:5;8568:14;8565:40;;;8585:18;;:::i;:::-;8565:40;8618:5;;;8356:277;;8742:2;8732:8;8729:16;8723:3;8717:4;8714:13;8710:36;8692:2;8682:8;8679:16;8674:2;8668:4;8665:12;8661:35;8645:111;8642:246;;;8798:8;8792:4;8788:19;8779:28;;8833:3;8826:5;8823:14;8820:40;;;8840:18;;:::i;:::-;8820:40;8873:5;;8642:246;8913:42;8951:3;8941:8;8935:4;8932:1;8913:42;:::i;:::-;8898:57;;;;8987:4;8982:3;8978:14;8971:5;8968:25;8965:51;;;8996:18;;:::i;:::-;8965:51;9045:4;9038:5;9034:16;9025:25;;7983:1073;;;;;;:::o;9062:281::-;9120:5;9144:23;9162:4;9144:23;:::i;:::-;9136:31;;9188:25;9204:8;9188:25;:::i;:::-;9176:37;;9232:104;9269:66;9259:8;9253:4;9232:104;:::i;:::-;9223:113;;9062:281;;;;:::o;9349:410::-;9389:7;9412:20;9430:1;9412:20;:::i;:::-;9407:25;;9446:20;9464:1;9446:20;:::i;:::-;9441:25;;9501:1;9498;9494:9;9523:30;9541:11;9523:30;:::i;:::-;9512:41;;9702:1;9693:7;9689:15;9686:1;9683:22;9663:1;9656:9;9636:83;9613:139;;9732:18;;:::i;:::-;9613:139;9397:362;9349:410;;;;:::o;9765:182::-;9905:34;9901:1;9893:6;9889:14;9882:58;9765:182;:::o;9953:366::-;10095:3;10116:67;10180:2;10175:3;10116:67;:::i;:::-;10109:74;;10192:93;10281:3;10192:93;:::i;:::-;10310:2;10305:3;10301:12;10294:19;;9953:366;;;:::o;10325:419::-;10491:4;10529:2;10518:9;10514:18;10506:26;;10578:9;10572:4;10568:20;10564:1;10553:9;10549:17;10542:47;10606:131;10732:4;10606:131;:::i;:::-;10598:139;;10325:419;;;:::o;10750:164::-;10890:16;10886:1;10878:6;10874:14;10867:40;10750:164;:::o;10920:366::-;11062:3;11083:67;11147:2;11142:3;11083:67;:::i;:::-;11076:74;;11159:93;11248:3;11159:93;:::i;:::-;11277:2;11272:3;11268:12;11261:19;;10920:366;;;:::o;11292:419::-;11458:4;11496:2;11485:9;11481:18;11473:26;;11545:9;11539:4;11535:20;11531:1;11520:9;11516:17;11509:47;11573:131;11699:4;11573:131;:::i;:::-;11565:139;;11292:419;;;:::o;11717:227::-;11857:34;11853:1;11845:6;11841:14;11834:58;11926:10;11921:2;11913:6;11909:15;11902:35;11717:227;:::o;11950:366::-;12092:3;12113:67;12177:2;12172:3;12113:67;:::i;:::-;12106:74;;12189:93;12278:3;12189:93;:::i;:::-;12307:2;12302:3;12298:12;12291:19;;11950:366;;;:::o;12322:419::-;12488:4;12526:2;12515:9;12511:18;12503:26;;12575:9;12569:4;12565:20;12561:1;12550:9;12546:17;12539:47;12603:131;12729:4;12603:131;:::i;:::-;12595:139;;12322:419;;;:::o;12747:180::-;12795:77;12792:1;12785:88;12892:4;12889:1;12882:15;12916:4;12913:1;12906:15;12933:185;12973:1;12990:20;13008:1;12990:20;:::i;:::-;12985:25;;13024:20;13042:1;13024:20;:::i;:::-;13019:25;;13063:1;13053:35;;13068:18;;:::i;:::-;13053:35;13110:1;13107;13103:9;13098:14;;12933:185;;;;:::o;13124:147::-;13225:11;13262:3;13247:18;;13124:147;;;;:::o;13277:114::-;;:::o;13397:398::-;13556:3;13577:83;13658:1;13653:3;13577:83;:::i;:::-;13570:90;;13669:93;13758:3;13669:93;:::i;:::-;13787:1;13782:3;13778:11;13771:18;;13397:398;;;:::o;13801:379::-;13985:3;14007:147;14150:3;14007:147;:::i;:::-;14000:154;;14171:3;14164:10;;13801:379;;;:::o;14186:191::-;14226:3;14245:20;14263:1;14245:20;:::i;:::-;14240:25;;14279:20;14297:1;14279:20;:::i;:::-;14274:25;;14322:1;14319;14315:9;14308:16;;14343:3;14340:1;14337:10;14334:36;;;14350:18;;:::i;:::-;14334:36;14186:191;;;;:::o;14383:162::-;14523:14;14519:1;14511:6;14507:14;14500:38;14383:162;:::o;14551:366::-;14693:3;14714:67;14778:2;14773:3;14714:67;:::i;:::-;14707:74;;14790:93;14879:3;14790:93;:::i;:::-;14908:2;14903:3;14899:12;14892:19;;14551:366;;;:::o;14923:419::-;15089:4;15127:2;15116:9;15112:18;15104:26;;15176:9;15170:4;15166:20;15162:1;15151:9;15147:17;15140:47;15204:131;15330:4;15204:131;:::i;:::-;15196:139;;14923:419;;;:::o;15348:223::-;15488:34;15484:1;15476:6;15472:14;15465:58;15557:6;15552:2;15544:6;15540:15;15533:31;15348:223;:::o;15577:366::-;15719:3;15740:67;15804:2;15799:3;15740:67;:::i;:::-;15733:74;;15816:93;15905:3;15816:93;:::i;:::-;15934:2;15929:3;15925:12;15918:19;;15577:366;;;:::o;15949:419::-;16115:4;16153:2;16142:9;16138:18;16130:26;;16202:9;16196:4;16192:20;16188:1;16177:9;16173:17;16166:47;16230:131;16356:4;16230:131;:::i;:::-;16222:139;;15949:419;;;:::o;16374:221::-;16514:34;16510:1;16502:6;16498:14;16491:58;16583:4;16578:2;16570:6;16566:15;16559:29;16374:221;:::o;16601:366::-;16743:3;16764:67;16828:2;16823:3;16764:67;:::i;:::-;16757:74;;16840:93;16929:3;16840:93;:::i;:::-;16958:2;16953:3;16949:12;16942:19;;16601:366;;;:::o;16973:419::-;17139:4;17177:2;17166:9;17162:18;17154:26;;17226:9;17220:4;17216:20;17212:1;17201:9;17197:17;17190:47;17254:131;17380:4;17254:131;:::i;:::-;17246:139;;16973:419;;;:::o;17398:224::-;17538:34;17534:1;17526:6;17522:14;17515:58;17607:7;17602:2;17594:6;17590:15;17583:32;17398:224;:::o;17628:366::-;17770:3;17791:67;17855:2;17850:3;17791:67;:::i;:::-;17784:74;;17867:93;17956:3;17867:93;:::i;:::-;17985:2;17980:3;17976:12;17969:19;;17628:366;;;:::o;18000:419::-;18166:4;18204:2;18193:9;18189:18;18181:26;;18253:9;18247:4;18243:20;18239:1;18228:9;18224:17;18217:47;18281:131;18407:4;18281:131;:::i;:::-;18273:139;;18000:419;;;:::o;18425:178::-;18565:30;18561:1;18553:6;18549:14;18542:54;18425:178;:::o;18609:366::-;18751:3;18772:67;18836:2;18831:3;18772:67;:::i;:::-;18765:74;;18848:93;18937:3;18848:93;:::i;:::-;18966:2;18961:3;18957:12;18950:19;;18609:366;;;:::o;18981:419::-;19147:4;19185:2;19174:9;19170:18;19162:26;;19234:9;19228:4;19224:20;19220:1;19209:9;19205:17;19198:47;19262:131;19388:4;19262:131;:::i;:::-;19254:139;;18981:419;;;:::o;19406:166::-;19546:18;19542:1;19534:6;19530:14;19523:42;19406:166;:::o;19578:366::-;19720:3;19741:67;19805:2;19800:3;19741:67;:::i;:::-;19734:74;;19817:93;19906:3;19817:93;:::i;:::-;19935:2;19930:3;19926:12;19919:19;;19578:366;;;:::o;19950:419::-;20116:4;20154:2;20143:9;20139:18;20131:26;;20203:9;20197:4;20193:20;20189:1;20178:9;20174:17;20167:47;20231:131;20357:4;20231:131;:::i;:::-;20223:139;;19950:419;;;:::o;20375:172::-;20515:24;20511:1;20503:6;20499:14;20492:48;20375:172;:::o;20553:366::-;20695:3;20716:67;20780:2;20775:3;20716:67;:::i;:::-;20709:74;;20792:93;20881:3;20792:93;:::i;:::-;20910:2;20905:3;20901:12;20894:19;;20553:366;;;:::o;20925:419::-;21091:4;21129:2;21118:9;21114:18;21106:26;;21178:9;21172:4;21168:20;21164:1;21153:9;21149:17;21142:47;21206:131;21332:4;21206:131;:::i;:::-;21198:139;;20925:419;;;:::o;21350:173::-;21490:25;21486:1;21478:6;21474:14;21467:49;21350:173;:::o;21529:366::-;21671:3;21692:67;21756:2;21751:3;21692:67;:::i;:::-;21685:74;;21768:93;21857:3;21768:93;:::i;:::-;21886:2;21881:3;21877:12;21870:19;;21529:366;;;:::o;21901:419::-;22067:4;22105:2;22094:9;22090:18;22082:26;;22154:9;22148:4;22144:20;22140:1;22129:9;22125:17;22118:47;22182:131;22308:4;22182:131;:::i;:::-;22174:139;;21901:419;;;:::o;22326:180::-;22374:77;22371:1;22364:88;22471:4;22468:1;22461:15;22495:4;22492:1;22485:15;22512:180;22560:77;22557:1;22550:88;22657:4;22654:1;22647:15;22681:4;22678:1;22671:15;22698:143;22755:5;22786:6;22780:13;22771:22;;22802:33;22829:5;22802:33;:::i;:::-;22698:143;;;;:::o;22847:351::-;22917:6;22966:2;22954:9;22945:7;22941:23;22937:32;22934:119;;;22972:79;;:::i;:::-;22934:119;23092:1;23117:64;23173:7;23164:6;23153:9;23149:22;23117:64;:::i;:::-;23107:74;;23063:128;22847:351;;;;:::o;23204:85::-;23249:7;23278:5;23267:16;;23204:85;;;:::o;23295:60::-;23323:3;23344:5;23337:12;;23295:60;;;:::o;23361:158::-;23419:9;23452:61;23470:42;23479:32;23505:5;23479:32;:::i;:::-;23470:42;:::i;:::-;23452:61;:::i;:::-;23439:74;;23361:158;;;:::o;23525:147::-;23620:45;23659:5;23620:45;:::i;:::-;23615:3;23608:58;23525:147;;:::o;23678:114::-;23745:6;23779:5;23773:12;23763:22;;23678:114;;;:::o;23798:184::-;23897:11;23931:6;23926:3;23919:19;23971:4;23966:3;23962:14;23947:29;;23798:184;;;;:::o;23988:132::-;24055:4;24078:3;24070:11;;24108:4;24103:3;24099:14;24091:22;;23988:132;;;:::o;24126:108::-;24203:24;24221:5;24203:24;:::i;:::-;24198:3;24191:37;24126:108;;:::o;24240:179::-;24309:10;24330:46;24372:3;24364:6;24330:46;:::i;:::-;24408:4;24403:3;24399:14;24385:28;;24240:179;;;;:::o;24425:113::-;24495:4;24527;24522:3;24518:14;24510:22;;24425:113;;;:::o;24574:732::-;24693:3;24722:54;24770:5;24722:54;:::i;:::-;24792:86;24871:6;24866:3;24792:86;:::i;:::-;24785:93;;24902:56;24952:5;24902:56;:::i;:::-;24981:7;25012:1;24997:284;25022:6;25019:1;25016:13;24997:284;;;25098:6;25092:13;25125:63;25184:3;25169:13;25125:63;:::i;:::-;25118:70;;25211:60;25264:6;25211:60;:::i;:::-;25201:70;;25057:224;25044:1;25041;25037:9;25032:14;;24997:284;;;25001:14;25297:3;25290:10;;24698:608;;;24574:732;;;;:::o;25312:831::-;25575:4;25613:3;25602:9;25598:19;25590:27;;25627:71;25695:1;25684:9;25680:17;25671:6;25627:71;:::i;:::-;25708:80;25784:2;25773:9;25769:18;25760:6;25708:80;:::i;:::-;25835:9;25829:4;25825:20;25820:2;25809:9;25805:18;25798:48;25863:108;25966:4;25957:6;25863:108;:::i;:::-;25855:116;;25981:72;26049:2;26038:9;26034:18;26025:6;25981:72;:::i;:::-;26063:73;26131:3;26120:9;26116:19;26107:6;26063:73;:::i;:::-;25312:831;;;;;;;;:::o;26149:225::-;26289:34;26285:1;26277:6;26273:14;26266:58;26358:8;26353:2;26345:6;26341:15;26334:33;26149:225;:::o;26380:366::-;26522:3;26543:67;26607:2;26602:3;26543:67;:::i;:::-;26536:74;;26619:93;26708:3;26619:93;:::i;:::-;26737:2;26732:3;26728:12;26721:19;;26380:366;;;:::o;26752:419::-;26918:4;26956:2;26945:9;26941:18;26933:26;;27005:9;26999:4;26995:20;26991:1;26980:9;26976:17;26969:47;27033:131;27159:4;27033:131;:::i;:::-;27025:139;;26752:419;;;:::o;27177:194::-;27217:4;27237:20;27255:1;27237:20;:::i;:::-;27232:25;;27271:20;27289:1;27271:20;:::i;:::-;27266:25;;27315:1;27312;27308:9;27300:17;;27339:1;27333:4;27330:11;27327:37;;;27344:18;;:::i;:::-;27327:37;27177:194;;;;:::o
Swarm Source
ipfs://ea6ebbf6a5128be556111148e1a91ef3aa5e04287a1c5955df1be27e89cbf09f
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.