Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 6 from a total of 6 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Update Swap Thre... | 38035342 | 65 days ago | IN | 0 MON | 0.00645148 | ||||
| Approve | 38032254 | 65 days ago | IN | 0 MON | 0.0240456 | ||||
| Approve | 38032119 | 65 days ago | IN | 0 MON | 0.0240456 | ||||
| Update Swap Thre... | 38030848 | 65 days ago | IN | 0 MON | 0.00637909 | ||||
| Enable Trading | 38030464 | 65 days ago | IN | 0 MON | 0.0136593 | ||||
| Approve | 38030412 | 65 days ago | IN | 0 MON | 0.0062679 |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xAa1A1e89...FE5448Cb0 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
MonadRewardsToken
Compiler Version
v0.8.30+commit.73712a01
Contract Source Code (Solidity)
/**
*Submitted for verification at monadscan.com on 2025-11-25
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
/**
* @title MonadRewardsToken
* @dev Auto-rewards token with hourly MON distributions
* Features:
* - 3% tax on buys/sells
* - Hourly reward distributions to holders
* - Adjustable tax allocation after Day 1
* - Manual burn setup for transparency
*/
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);
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract MonadRewardsToken is IERC20 {
string private _name = "MoNUGGETS";
string private _symbol = "NUGGETS";
uint8 private _decimals = 18;
uint256 private _totalSupply = 1_000_000_000 * 10**18; // 1 billion tokens
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isExcludedFromFees;
mapping(address => bool) private _isExcludedFromRewards;
mapping(address => bool) private _isExcludedFromMaxWallet;
mapping(address => uint256) private _lastClaimTime;
address public owner;
address public devWallet;
address public constant BURN_WALLET = 0x000000000000000000000000000000000000dEaD;
address public pair;
IUniswapV2Router public router;
uint256 public launchTime;
uint256 public constant DAY_ONE_DURATION = 24 hours;
uint256 public constant CLAIM_INTERVAL = 1 hours;
// Tax configuration
uint256 public buyTax = 300; // 3%
uint256 public sellTax = 300; // 3%
uint256 public rewardsTaxDay1 = 200; // 2% (Day 1)
uint256 public devTaxDay1 = 100; // 1% (Day 1)
uint256 public rewardsTaxDay2Plus = 300; // 3% (Day 2+)
uint256 public accumulatedRewards; // MON accumulated for distribution
uint256 public totalRewardsDistributed;
bool private inSwap;
bool public tradingEnabled;
uint256 public swapThreshold = 1_000_000 * 10**18; // 1M tokens
uint256 public maxWalletAmount = 20_000_000 * 10**18; // 2% max wallet (20M tokens)
modifier onlyOwner() {
require(msg.sender == owner, "Not owner");
_;
}
modifier lockSwap() {
inSwap = true;
_;
inSwap = false;
}
event RewardsClaimed(address indexed user, uint256 amount);
event TradingEnabled(uint256 timestamp);
event TaxesUpdated(uint256 buyTax, uint256 sellTax);
event TokensBurned(uint256 amount);
constructor(address _router, address _devWallet) {
owner = msg.sender;
devWallet = _devWallet;
router = IUniswapV2Router(_router);
pair = IUniswapV2Factory(router.factory()).createPair(
address(this),
router.WETH()
);
// Exclude from fees and rewards
_isExcludedFromFees[owner] = true;
_isExcludedFromFees[address(this)] = true;
_isExcludedFromFees[devWallet] = true;
_isExcludedFromRewards[pair] = true;
_isExcludedFromRewards[address(this)] = true;
_isExcludedFromRewards[BURN_WALLET] = true;
_isExcludedFromRewards[address(0)] = true;
// Exclude from max wallet
_isExcludedFromMaxWallet[owner] = true;
_isExcludedFromMaxWallet[address(this)] = true;
_isExcludedFromMaxWallet[pair] = true;
_isExcludedFromMaxWallet[BURN_WALLET] = true;
_isExcludedFromMaxWallet[devWallet] = true;
// All tokens start with owner - you distribute manually
_balances[owner] = _totalSupply;
emit Transfer(address(0), owner, _totalSupply);
}
// ERC20 Functions
function name() public view returns (string memory) { return _name; }
function symbol() public view returns (string memory) { return _symbol; }
function decimals() public view returns (uint8) { return _decimals; }
function totalSupply() public view override returns (uint256) { return _totalSupply; }
function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(msg.sender, 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(msg.sender, spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][msg.sender];
require(currentAllowance >= amount, "Transfer exceeds allowance");
_approve(sender, msg.sender, currentAllowance - amount);
return true;
}
function _approve(address _owner, address spender, uint256 amount) private {
require(_owner != address(0), "Approve from zero address");
require(spender != address(0), "Approve to zero address");
_allowances[_owner][spender] = amount;
emit Approval(_owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "Transfer from zero address");
require(to != address(0), "Transfer to zero address");
require(amount > 0, "Amount must be greater than zero");
require(_balances[from] >= amount, "Insufficient balance");
if (!tradingEnabled) {
require(from == owner || to == owner, "Trading not enabled");
}
bool takeFee = tradingEnabled && !inSwap && !_isExcludedFromFees[from] && !_isExcludedFromFees[to];
if (takeFee && balanceOf(address(this)) >= swapThreshold && from != pair) {
swapTokensForRewards(swapThreshold);
}
uint256 transferAmount = amount;
if (takeFee) {
uint256 tax;
// Buy tax
if (from == pair) {
tax = (amount * buyTax) / 10000;
}
// Sell tax
else if (to == pair) {
tax = (amount * sellTax) / 10000;
}
if (tax > 0) {
transferAmount = amount - tax;
// Split tax based on day
if (block.timestamp < launchTime + DAY_ONE_DURATION) {
// Day 1: 2% rewards, 1% dev
uint256 rewardsTax = (tax * rewardsTaxDay1) / buyTax;
uint256 devTax = tax - rewardsTax;
_balances[address(this)] += rewardsTax;
_balances[devWallet] += devTax;
emit Transfer(from, address(this), rewardsTax);
emit Transfer(from, devWallet, devTax);
} else {
// Day 2+: 3% all to rewards
_balances[address(this)] += tax;
emit Transfer(from, address(this), tax);
}
}
}
_balances[from] -= amount;
_balances[to] += transferAmount;
// Check max wallet limit (only on buys, not on sells to LP)
if (!_isExcludedFromMaxWallet[to] && to != pair) {
require(_balances[to] <= maxWalletAmount, "Exceeds max wallet");
}
emit Transfer(from, to, transferAmount);
}
function swapTokensForRewards(uint256 tokenAmount) private lockSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();
_approve(address(this), address(router), tokenAmount);
try router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
) {
accumulatedRewards += address(this).balance;
} catch {}
}
// Rewards Functions
function claimRewards() external {
require(!_isExcludedFromRewards[msg.sender], "Excluded from rewards");
require(block.timestamp >= _lastClaimTime[msg.sender] + CLAIM_INTERVAL, "Claim too soon");
uint256 reward = calculateReward(msg.sender);
require(reward > 0, "No rewards available");
require(address(this).balance >= reward, "Insufficient reward balance");
_lastClaimTime[msg.sender] = block.timestamp;
totalRewardsDistributed += reward;
(bool success, ) = payable(msg.sender).call{value: reward}("");
require(success, "Reward transfer failed");
emit RewardsClaimed(msg.sender, reward);
}
function calculateReward(address user) public view returns (uint256) {
if (_isExcludedFromRewards[user]) return 0;
if (_balances[user] == 0) return 0;
if (accumulatedRewards == 0) return 0;
uint256 eligibleSupply = getEligibleSupply();
if (eligibleSupply == 0) return 0;
// Hourly distribution: user's share of accumulated rewards
uint256 userShare = (_balances[user] * accumulatedRewards) / eligibleSupply;
return userShare;
}
function getEligibleSupply() public view returns (uint256) {
uint256 eligible = _totalSupply;
eligible -= _balances[BURN_WALLET];
eligible -= _balances[pair];
eligible -= _balances[address(this)];
eligible -= _balances[address(0)];
return eligible;
}
function getPendingRewards(address user) external view returns (uint256) {
if (block.timestamp < _lastClaimTime[user] + CLAIM_INTERVAL) return 0;
return calculateReward(user);
}
function getTimeUntilNextClaim(address user) external view returns (uint256) {
uint256 nextClaim = _lastClaimTime[user] + CLAIM_INTERVAL;
if (block.timestamp >= nextClaim) return 0;
return nextClaim - block.timestamp;
}
// Owner Functions - Pre-Launch Setup
function setupLiquidity(uint256 tokenAmount) external onlyOwner {
require(!tradingEnabled, "Trading already enabled");
require(_balances[owner] >= tokenAmount, "Insufficient balance");
_balances[owner] -= tokenAmount;
_balances[address(this)] += tokenAmount;
emit Transfer(owner, address(this), tokenAmount);
}
function addLiquidity() external payable onlyOwner {
require(!tradingEnabled, "Trading already enabled");
require(msg.value > 0, "Need MON for liquidity");
uint256 tokenAmount = _balances[address(this)];
require(tokenAmount > 0, "No tokens in contract for liquidity");
_approve(address(this), address(router), tokenAmount);
router.addLiquidityETH{value: msg.value}(
address(this),
tokenAmount,
0,
0,
owner,
block.timestamp
);
}
function enableTrading() external onlyOwner {
require(!tradingEnabled, "Already enabled");
tradingEnabled = true;
launchTime = block.timestamp;
emit TradingEnabled(block.timestamp);
}
function updateSwapThreshold(uint256 newThreshold) external onlyOwner {
swapThreshold = newThreshold;
}
function excludeFromFees(address account, bool excluded) external onlyOwner {
_isExcludedFromFees[account] = excluded;
}
function excludeFromRewards(address account, bool excluded) external onlyOwner {
_isExcludedFromRewards[account] = excluded;
}
function excludeFromMaxWallet(address account, bool excluded) external onlyOwner {
_isExcludedFromMaxWallet[account] = excluded;
}
function updateMaxWallet(uint256 newMax) external onlyOwner {
require(newMax >= (_totalSupply * 1) / 100, "Max wallet too low"); // Min 1%
maxWalletAmount = newMax;
}
function rescueTokens(address token) external onlyOwner {
require(token != address(this), "Cannot rescue own token");
IERC20(token).transfer(owner, IERC20(token).balanceOf(address(this)));
}
function rescueMON() external onlyOwner {
payable(owner).transfer(address(this).balance);
}
receive() external payable {
accumulatedRewards += msg.value;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_router","type":"address"},{"internalType":"address","name":"_devWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardsClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buyTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellTax","type":"uint256"}],"name":"TaxesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensBurned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"TradingEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BURN_WALLET","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CLAIM_INTERVAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DAY_ONE_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"accumulatedRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"payable","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":[{"internalType":"address","name":"user","type":"address"}],"name":"calculateReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devTaxDay1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getEligibleSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getPendingRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getTimeUntilNextClaim","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rescueMON","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardsTaxDay1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsTaxDay2Plus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"setupLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRewardsDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"uint256","name":"newMax","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"updateSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
0x60c060405260096080908152684d6f4e55474745545360b81b60a0525f906100279082610492565b506040805180820190915260078152664e55474745545360c81b60208201526001906100539082610492565b506002805460ff191660129081179091556b033b2e3c9fd0803ce800000060035561012c600f819055601081905560c8601155606490915560135569d3c21bcecceda10000006017556a108b2a2c280290940000006018553480156100b6575f5ffd5b506040516125873803806125878339810160408190526100d591610567565b600a8054336001600160a01b031991821617909155600b805482166001600160a01b0384811691909117909155600d80549092169084169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561014b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061016f9190610598565b6001600160a01b031663c9c6539630600d5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ce573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101f29190610598565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561023c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102609190610598565b600c80546001600160a01b0319166001600160a01b03928316178155600a805483165f908152600660209081526040808320805460ff199081166001908117909255308086528386208054831684179055600b80548a168752848720805484168517905588548a16875260078652848720805484168517905581875284872080548416851790557fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d80548416851790557f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df805484168517905587548a168752600886528487208054841685179055908652838620805483168417905596548816855282852080548216831790557f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299805482168317905595548716845281842080549096161790945560035483548616835260048252848320819055925493519283529290931692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506105b8565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061042257607f821691505b60208210810361044057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561048d57805f5260205f20601f840160051c8101602085101561046b5750805b601f840160051c820191505b8181101561048a575f8155600101610477565b50505b505050565b81516001600160401b038111156104ab576104ab6103fa565b6104bf816104b9845461040e565b84610446565b6020601f8211600181146104f1575f83156104da5750848201515b5f19600385901b1c1916600184901b17845561048a565b5f84815260208120601f198516915b828110156105205787850151825560209485019460019092019101610500565b508482101561053d57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80516001600160a01b0381168114610562575f5ffd5b919050565b5f5f60408385031215610578575f5ffd5b6105818361054c565b915061058f6020840161054c565b90509250929050565b5f602082840312156105a8575f5ffd5b6105b18261054c565b9392505050565b611fc2806105c55f395ff3fe60806040526004361061024b575f3560e01c80638da5cb5b11610134578063cc1776d3116100b3578063dd62ed3e11610078578063dd62ed3e1461066f578063e8078d94146106b3578063ee172546146106bb578063eeab7702146106d0578063f6ed2017146106e5578063f887ea4014610704575f5ffd5b8063cc1776d3146105e9578063cc274b29146105fe578063cd415c4a1461061d578063d2fcc00114610631578063d82e396214610650575f5ffd5b8063a9059cbb116100f9578063a9059cbb1461056d578063a9c69c351461058c578063aa4bde28146105a1578063c0246668146105b6578063c81bc8be146105d5575f5ffd5b80638da5cb5b146104e75780638ea5220f1461050657806395d89b41146105255780639c81ff6b14610539578063a8aa1b311461054e575f5ffd5b80632ad4cab7116101cb5780634f7041a5116101905780634f7041a5146104405780636125413e146104555780636d07b7e51461046b57806370a082311461048a578063790ca413146104be5780638a8c523c146104d3575f5ffd5b80632ad4cab7146103b9578063313ce567146103d8578063372500ab146103f957806349d3a0c11461040d5780634ada218b14610422575f5ffd5b806318160ddd1161021157806318160ddd1461031b5780631c499ab01461032f5780631fb9abf91461034e57806323b872dd1461036d57806327060b2b1461038c575f5ffd5b8062ae3bf81461026d5780630445b6671461028e57806306fdde03146102b6578063095ea7b3146102d757806316e95eb414610306575f5ffd5b36610269573460145f8282546102619190611c66565b925050819055005b5f5ffd5b348015610278575f5ffd5b5061028c610287366004611c8d565b610723565b005b348015610299575f5ffd5b506102a360175481565b6040519081526020015b60405180910390f35b3480156102c1575f5ffd5b506102ca610893565b6040516102ad9190611ca8565b3480156102e2575f5ffd5b506102f66102f1366004611cdd565b610922565b60405190151581526020016102ad565b348015610311575f5ffd5b506102a360125481565b348015610326575f5ffd5b506003546102a3565b34801561033a575f5ffd5b5061028c610349366004611d07565b610938565b348015610359575f5ffd5b5061028c610368366004611d07565b6109c6565b348015610378575f5ffd5b506102f6610387366004611d1e565b610b25565b348015610397575f5ffd5b506103a161dead81565b6040516001600160a01b0390911681526020016102ad565b3480156103c4575f5ffd5b5061028c6103d3366004611d69565b610bc3565b3480156103e3575f5ffd5b5060025460405160ff90911681526020016102ad565b348015610404575f5ffd5b5061028c610c17565b348015610418575f5ffd5b506102a3610e1081565b34801561042d575f5ffd5b506016546102f690610100900460ff1681565b34801561044b575f5ffd5b506102a3600f5481565b348015610460575f5ffd5b506102a36201518081565b348015610476575f5ffd5b506102a3610485366004611c8d565b610e5b565b348015610495575f5ffd5b506102a36104a4366004611c8d565b6001600160a01b03165f9081526004602052604090205490565b3480156104c9575f5ffd5b506102a3600e5481565b3480156104de575f5ffd5b5061028c610ea4565b3480156104f2575f5ffd5b50600a546103a1906001600160a01b031681565b348015610511575f5ffd5b50600b546103a1906001600160a01b031681565b348015610530575f5ffd5b506102ca610f69565b348015610544575f5ffd5b506102a360145481565b348015610559575f5ffd5b50600c546103a1906001600160a01b031681565b348015610578575f5ffd5b506102f6610587366004611cdd565b610f78565b348015610597575f5ffd5b506102a360135481565b3480156105ac575f5ffd5b506102a360185481565b3480156105c1575f5ffd5b5061028c6105d0366004611d69565b610f84565b3480156105e0575f5ffd5b5061028c610fd8565b3480156105f4575f5ffd5b506102a360105481565b348015610609575f5ffd5b5061028c610618366004611d07565b61103b565b348015610628575f5ffd5b506102a361106a565b34801561063c575f5ffd5b5061028c61064b366004611d69565b611122565b34801561065b575f5ffd5b506102a361066a366004611c8d565b611176565b34801561067a575f5ffd5b506102a3610689366004611da0565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b61028c611227565b3480156106c6575f5ffd5b506102a360155481565b3480156106db575f5ffd5b506102a360115481565b3480156106f0575f5ffd5b506102a36106ff366004611c8d565b611403565b34801561070f575f5ffd5b50600d546103a1906001600160a01b031681565b600a546001600160a01b031633146107565760405162461bcd60e51b815260040161074d90611dcc565b60405180910390fd5b306001600160a01b038216036107ae5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420726573637565206f776e20746f6b656e000000000000000000604482015260640161074d565b600a546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa1580156107ff573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108239190611def565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561086b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088f9190611e06565b5050565b60605f80546108a190611e21565b80601f01602080910402602001604051908101604052809291908181526020018280546108cd90611e21565b80156109185780601f106108ef57610100808354040283529160200191610918565b820191905f5260205f20905b8154815290600101906020018083116108fb57829003601f168201915b5050505050905090565b5f61092e33848461143f565b5060015b92915050565b600a546001600160a01b031633146109625760405162461bcd60e51b815260040161074d90611dcc565b606460035460016109739190611e59565b61097d9190611e70565b8110156109c15760405162461bcd60e51b81526020600482015260126024820152714d61782077616c6c657420746f6f206c6f7760701b604482015260640161074d565b601855565b600a546001600160a01b031633146109f05760405162461bcd60e51b815260040161074d90611dcc565b601654610100900460ff1615610a425760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c8185b1c9958591e48195b98589b1959604a1b604482015260640161074d565b600a546001600160a01b03165f90815260046020526040902054811115610aa25760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161074d565b600a546001600160a01b03165f9081526004602052604081208054839290610acb908490611e8f565b9091555050305f9081526004602052604081208054839290610aee908490611c66565b9091555050600a5460405182815230916001600160a01b0316905f516020611f6d5f395f51905f529060200160405180910390a350565b5f610b3184848461154b565b6001600160a01b0384165f90815260056020908152604080832033845290915290205482811015610ba45760405162461bcd60e51b815260206004820152601a60248201527f5472616e73666572206578636565647320616c6c6f77616e6365000000000000604482015260640161074d565b610bb88533610bb38685611e8f565b61143f565b506001949350505050565b600a546001600160a01b03163314610bed5760405162461bcd60e51b815260040161074d90611dcc565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b335f9081526007602052604090205460ff1615610c6e5760405162461bcd60e51b81526020600482015260156024820152744578636c756465642066726f6d207265776172647360581b604482015260640161074d565b335f90815260096020526040902054610c8a90610e1090611c66565b421015610cca5760405162461bcd60e51b815260206004820152600e60248201526d21b630b4b6903a37b79039b7b7b760911b604482015260640161074d565b5f610cd433611176565b90505f8111610d1c5760405162461bcd60e51b81526020600482015260146024820152734e6f207265776172647320617661696c61626c6560601b604482015260640161074d565b80471015610d6c5760405162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e74207265776172642062616c616e63650000000000604482015260640161074d565b335f90815260096020526040812042905560158054839290610d8f908490611c66565b90915550506040515f90339083908381818185875af1925050503d805f8114610dd3576040519150601f19603f3d011682016040523d82523d5f602084013e610dd8565b606091505b5050905080610e225760405162461bcd60e51b815260206004820152601660248201527514995dd85c99081d1c985b9cd9995c8819985a5b195960521b604482015260640161074d565b60405182815233907ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe9060200160405180910390a25050565b6001600160a01b0381165f908152600960205260408120548190610e8290610e1090611c66565b9050804210610e9357505f92915050565b610e9d4282611e8f565b9392505050565b600a546001600160a01b03163314610ece5760405162461bcd60e51b815260040161074d90611dcc565b601654610100900460ff1615610f185760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b604482015260640161074d565b6016805461ff00191661010017905542600e8190556040517fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92391610f5f9190815260200190565b60405180910390a1565b6060600180546108a190611e21565b5f61092e33848461154b565b600a546001600160a01b03163314610fae5760405162461bcd60e51b815260040161074d90611dcc565b6001600160a01b03919091165f908152600660205260409020805460ff1916911515919091179055565b600a546001600160a01b031633146110025760405162461bcd60e51b815260040161074d90611dcc565b600a546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611038573d5f5f3e3d5ffd5b50565b600a546001600160a01b031633146110655760405162461bcd60e51b815260040161074d90611dcc565b601755565b60035461dead5f90815260046020527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd549091906110a89082611e8f565b600c546001600160a01b03165f908152600460205260409020549091506110cf9082611e8f565b305f908152600460205260409020549091506110eb9082611e8f565b5f805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec549091506109329082611e8f565b600a546001600160a01b0316331461114c5760405162461bcd60e51b815260040161074d90611dcc565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b6001600160a01b0381165f9081526007602052604081205460ff161561119d57505f919050565b6001600160a01b0382165f9081526004602052604081205490036111c257505f919050565b6014545f036111d257505f919050565b5f6111db61106a565b9050805f036111ec57505f92915050565b6014546001600160a01b0384165f90815260046020526040812054909183916112159190611e59565b61121f9190611e70565b949350505050565b600a546001600160a01b031633146112515760405162461bcd60e51b815260040161074d90611dcc565b601654610100900460ff16156112a35760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c8185b1c9958591e48195b98589b1959604a1b604482015260640161074d565b5f34116112eb5760405162461bcd60e51b81526020600482015260166024820152754e656564204d4f4e20666f72206c697175696469747960501b604482015260640161074d565b305f90815260046020526040902054806113535760405162461bcd60e51b815260206004820152602360248201527f4e6f20746f6b656e7320696e20636f6e747261637420666f72206c697175696460448201526269747960e81b606482015260840161074d565b600d5461136b9030906001600160a01b03168361143f565b600d54600a5460405163f305d71960e01b8152306004820152602481018490525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990349060c40160606040518083038185885af11580156113d8573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113fd9190611ea2565b50505050565b6001600160a01b0381165f9081526009602052604081205461142890610e1090611c66565b42101561143657505f919050565b61093282611176565b6001600160a01b0383166114955760405162461bcd60e51b815260206004820152601960248201527f417070726f76652066726f6d207a65726f206164647265737300000000000000604482015260640161074d565b6001600160a01b0382166114eb5760405162461bcd60e51b815260206004820152601760248201527f417070726f766520746f207a65726f2061646472657373000000000000000000604482015260640161074d565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166115a15760405162461bcd60e51b815260206004820152601a60248201527f5472616e736665722066726f6d207a65726f2061646472657373000000000000604482015260640161074d565b6001600160a01b0382166115f75760405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220746f207a65726f20616464726573730000000000000000604482015260640161074d565b5f81116116465760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604482015260640161074d565b6001600160a01b0383165f908152600460205260409020548111156116a45760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161074d565b601654610100900460ff1661171e57600a546001600160a01b03848116911614806116dc5750600a546001600160a01b038381169116145b61171e5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161074d565b6016545f90610100900460ff16801561173a575060165460ff16155b801561175e57506001600160a01b0384165f9081526006602052604090205460ff16155b801561178257506001600160a01b0383165f9081526006602052604090205460ff16155b90508080156117a15750601754305f9081526004602052604090205410155b80156117bb5750600c546001600160a01b03858116911614155b156117cb576117cb601754611ad4565b8181156119a257600c545f906001600160a01b039081169087160361180c57612710600f54856117fb9190611e59565b6118059190611e70565b9050611840565b600c546001600160a01b039081169086160361184057612710601054856118339190611e59565b61183d9190611e70565b90505b80156119a0576118508185611e8f565b915062015180600e546118639190611c66565b42101561194f575f600f546011548361187c9190611e59565b6118869190611e70565b90505f6118938284611e8f565b305f908152600460205260408120805492935084929091906118b6908490611c66565b9091555050600b546001600160a01b03165f90815260046020526040812080548392906118e4908490611c66565b909155505060405182815230906001600160a01b038a16905f516020611f6d5f395f51905f529060200160405180910390a3600b546040518281526001600160a01b03918216918a16905f516020611f6d5f395f51905f529060200160405180910390a350506119a0565b305f908152600460205260408120805483929061196d908490611c66565b909155505060405181815230906001600160a01b038816905f516020611f6d5f395f51905f529060200160405180910390a35b505b6001600160a01b0385165f90815260046020526040812080548592906119c9908490611e8f565b90915550506001600160a01b0384165f90815260046020526040812080548392906119f5908490611c66565b90915550506001600160a01b0384165f9081526008602052604090205460ff16158015611a305750600c546001600160a01b03858116911614155b15611a93576018546001600160a01b0385165f908152600460205260409020541115611a935760405162461bcd60e51b8152602060048201526012602482015271115e18d959591cc81b585e081dd85b1b195d60721b604482015260640161074d565b836001600160a01b0316856001600160a01b03165f516020611f6d5f395f51905f5283604051611ac591815260200190565b60405180910390a35050505050565b6016805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611b1457611b14611ecd565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611b6b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b8f9190611ee1565b81600181518110611ba257611ba2611ecd565b6001600160a01b039283166020918202929092010152600d54611bc8913091168461143f565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c009085905f90869030904290600401611efc565b5f604051808303815f87803b158015611c17575f5ffd5b505af1925050508015611c28575060015b15611c44574760145f828254611c3e9190611c66565b90915550505b50506016805460ff19169055565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561093257610932611c52565b6001600160a01b0381168114611038575f5ffd5b5f60208284031215611c9d575f5ffd5b8135610e9d81611c79565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215611cee575f5ffd5b8235611cf981611c79565b946020939093013593505050565b5f60208284031215611d17575f5ffd5b5035919050565b5f5f5f60608486031215611d30575f5ffd5b8335611d3b81611c79565b92506020840135611d4b81611c79565b929592945050506040919091013590565b8015158114611038575f5ffd5b5f5f60408385031215611d7a575f5ffd5b8235611d8581611c79565b91506020830135611d9581611d5c565b809150509250929050565b5f5f60408385031215611db1575f5ffd5b8235611dbc81611c79565b91506020830135611d9581611c79565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b5f60208284031215611dff575f5ffd5b5051919050565b5f60208284031215611e16575f5ffd5b8151610e9d81611d5c565b600181811c90821680611e3557607f821691505b602082108103611e5357634e487b7160e01b5f52602260045260245ffd5b50919050565b808202811582820484141761093257610932611c52565b5f82611e8a57634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561093257610932611c52565b5f5f5f60608486031215611eb4575f5ffd5b5050815160208301516040909301519094929350919050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611ef1575f5ffd5b8151610e9d81611c79565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611f4c5783516001600160a01b0316835260209384019390920191600101611f25565b50506001600160a01b03959095166060840152505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e31aac12b8d6ff14ff6defd48ae3aa535cefe45401e5b1faef5f69abf6eb4c9164736f6c634300081e00330000000000000000000000004b2ab38dbf28d31d467aa8993f6c2585981d68040000000000000000000000000c5b7ca5f56d2eb4c2cef7fa3da049b626bdd12f
Deployed Bytecode
0x60806040526004361061024b575f3560e01c80638da5cb5b11610134578063cc1776d3116100b3578063dd62ed3e11610078578063dd62ed3e1461066f578063e8078d94146106b3578063ee172546146106bb578063eeab7702146106d0578063f6ed2017146106e5578063f887ea4014610704575f5ffd5b8063cc1776d3146105e9578063cc274b29146105fe578063cd415c4a1461061d578063d2fcc00114610631578063d82e396214610650575f5ffd5b8063a9059cbb116100f9578063a9059cbb1461056d578063a9c69c351461058c578063aa4bde28146105a1578063c0246668146105b6578063c81bc8be146105d5575f5ffd5b80638da5cb5b146104e75780638ea5220f1461050657806395d89b41146105255780639c81ff6b14610539578063a8aa1b311461054e575f5ffd5b80632ad4cab7116101cb5780634f7041a5116101905780634f7041a5146104405780636125413e146104555780636d07b7e51461046b57806370a082311461048a578063790ca413146104be5780638a8c523c146104d3575f5ffd5b80632ad4cab7146103b9578063313ce567146103d8578063372500ab146103f957806349d3a0c11461040d5780634ada218b14610422575f5ffd5b806318160ddd1161021157806318160ddd1461031b5780631c499ab01461032f5780631fb9abf91461034e57806323b872dd1461036d57806327060b2b1461038c575f5ffd5b8062ae3bf81461026d5780630445b6671461028e57806306fdde03146102b6578063095ea7b3146102d757806316e95eb414610306575f5ffd5b36610269573460145f8282546102619190611c66565b925050819055005b5f5ffd5b348015610278575f5ffd5b5061028c610287366004611c8d565b610723565b005b348015610299575f5ffd5b506102a360175481565b6040519081526020015b60405180910390f35b3480156102c1575f5ffd5b506102ca610893565b6040516102ad9190611ca8565b3480156102e2575f5ffd5b506102f66102f1366004611cdd565b610922565b60405190151581526020016102ad565b348015610311575f5ffd5b506102a360125481565b348015610326575f5ffd5b506003546102a3565b34801561033a575f5ffd5b5061028c610349366004611d07565b610938565b348015610359575f5ffd5b5061028c610368366004611d07565b6109c6565b348015610378575f5ffd5b506102f6610387366004611d1e565b610b25565b348015610397575f5ffd5b506103a161dead81565b6040516001600160a01b0390911681526020016102ad565b3480156103c4575f5ffd5b5061028c6103d3366004611d69565b610bc3565b3480156103e3575f5ffd5b5060025460405160ff90911681526020016102ad565b348015610404575f5ffd5b5061028c610c17565b348015610418575f5ffd5b506102a3610e1081565b34801561042d575f5ffd5b506016546102f690610100900460ff1681565b34801561044b575f5ffd5b506102a3600f5481565b348015610460575f5ffd5b506102a36201518081565b348015610476575f5ffd5b506102a3610485366004611c8d565b610e5b565b348015610495575f5ffd5b506102a36104a4366004611c8d565b6001600160a01b03165f9081526004602052604090205490565b3480156104c9575f5ffd5b506102a3600e5481565b3480156104de575f5ffd5b5061028c610ea4565b3480156104f2575f5ffd5b50600a546103a1906001600160a01b031681565b348015610511575f5ffd5b50600b546103a1906001600160a01b031681565b348015610530575f5ffd5b506102ca610f69565b348015610544575f5ffd5b506102a360145481565b348015610559575f5ffd5b50600c546103a1906001600160a01b031681565b348015610578575f5ffd5b506102f6610587366004611cdd565b610f78565b348015610597575f5ffd5b506102a360135481565b3480156105ac575f5ffd5b506102a360185481565b3480156105c1575f5ffd5b5061028c6105d0366004611d69565b610f84565b3480156105e0575f5ffd5b5061028c610fd8565b3480156105f4575f5ffd5b506102a360105481565b348015610609575f5ffd5b5061028c610618366004611d07565b61103b565b348015610628575f5ffd5b506102a361106a565b34801561063c575f5ffd5b5061028c61064b366004611d69565b611122565b34801561065b575f5ffd5b506102a361066a366004611c8d565b611176565b34801561067a575f5ffd5b506102a3610689366004611da0565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b61028c611227565b3480156106c6575f5ffd5b506102a360155481565b3480156106db575f5ffd5b506102a360115481565b3480156106f0575f5ffd5b506102a36106ff366004611c8d565b611403565b34801561070f575f5ffd5b50600d546103a1906001600160a01b031681565b600a546001600160a01b031633146107565760405162461bcd60e51b815260040161074d90611dcc565b60405180910390fd5b306001600160a01b038216036107ae5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420726573637565206f776e20746f6b656e000000000000000000604482015260640161074d565b600a546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa1580156107ff573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108239190611def565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561086b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088f9190611e06565b5050565b60605f80546108a190611e21565b80601f01602080910402602001604051908101604052809291908181526020018280546108cd90611e21565b80156109185780601f106108ef57610100808354040283529160200191610918565b820191905f5260205f20905b8154815290600101906020018083116108fb57829003601f168201915b5050505050905090565b5f61092e33848461143f565b5060015b92915050565b600a546001600160a01b031633146109625760405162461bcd60e51b815260040161074d90611dcc565b606460035460016109739190611e59565b61097d9190611e70565b8110156109c15760405162461bcd60e51b81526020600482015260126024820152714d61782077616c6c657420746f6f206c6f7760701b604482015260640161074d565b601855565b600a546001600160a01b031633146109f05760405162461bcd60e51b815260040161074d90611dcc565b601654610100900460ff1615610a425760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c8185b1c9958591e48195b98589b1959604a1b604482015260640161074d565b600a546001600160a01b03165f90815260046020526040902054811115610aa25760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161074d565b600a546001600160a01b03165f9081526004602052604081208054839290610acb908490611e8f565b9091555050305f9081526004602052604081208054839290610aee908490611c66565b9091555050600a5460405182815230916001600160a01b0316905f516020611f6d5f395f51905f529060200160405180910390a350565b5f610b3184848461154b565b6001600160a01b0384165f90815260056020908152604080832033845290915290205482811015610ba45760405162461bcd60e51b815260206004820152601a60248201527f5472616e73666572206578636565647320616c6c6f77616e6365000000000000604482015260640161074d565b610bb88533610bb38685611e8f565b61143f565b506001949350505050565b600a546001600160a01b03163314610bed5760405162461bcd60e51b815260040161074d90611dcc565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b335f9081526007602052604090205460ff1615610c6e5760405162461bcd60e51b81526020600482015260156024820152744578636c756465642066726f6d207265776172647360581b604482015260640161074d565b335f90815260096020526040902054610c8a90610e1090611c66565b421015610cca5760405162461bcd60e51b815260206004820152600e60248201526d21b630b4b6903a37b79039b7b7b760911b604482015260640161074d565b5f610cd433611176565b90505f8111610d1c5760405162461bcd60e51b81526020600482015260146024820152734e6f207265776172647320617661696c61626c6560601b604482015260640161074d565b80471015610d6c5760405162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e74207265776172642062616c616e63650000000000604482015260640161074d565b335f90815260096020526040812042905560158054839290610d8f908490611c66565b90915550506040515f90339083908381818185875af1925050503d805f8114610dd3576040519150601f19603f3d011682016040523d82523d5f602084013e610dd8565b606091505b5050905080610e225760405162461bcd60e51b815260206004820152601660248201527514995dd85c99081d1c985b9cd9995c8819985a5b195960521b604482015260640161074d565b60405182815233907ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe9060200160405180910390a25050565b6001600160a01b0381165f908152600960205260408120548190610e8290610e1090611c66565b9050804210610e9357505f92915050565b610e9d4282611e8f565b9392505050565b600a546001600160a01b03163314610ece5760405162461bcd60e51b815260040161074d90611dcc565b601654610100900460ff1615610f185760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b604482015260640161074d565b6016805461ff00191661010017905542600e8190556040517fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92391610f5f9190815260200190565b60405180910390a1565b6060600180546108a190611e21565b5f61092e33848461154b565b600a546001600160a01b03163314610fae5760405162461bcd60e51b815260040161074d90611dcc565b6001600160a01b03919091165f908152600660205260409020805460ff1916911515919091179055565b600a546001600160a01b031633146110025760405162461bcd60e51b815260040161074d90611dcc565b600a546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611038573d5f5f3e3d5ffd5b50565b600a546001600160a01b031633146110655760405162461bcd60e51b815260040161074d90611dcc565b601755565b60035461dead5f90815260046020527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd549091906110a89082611e8f565b600c546001600160a01b03165f908152600460205260409020549091506110cf9082611e8f565b305f908152600460205260409020549091506110eb9082611e8f565b5f805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec549091506109329082611e8f565b600a546001600160a01b0316331461114c5760405162461bcd60e51b815260040161074d90611dcc565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b6001600160a01b0381165f9081526007602052604081205460ff161561119d57505f919050565b6001600160a01b0382165f9081526004602052604081205490036111c257505f919050565b6014545f036111d257505f919050565b5f6111db61106a565b9050805f036111ec57505f92915050565b6014546001600160a01b0384165f90815260046020526040812054909183916112159190611e59565b61121f9190611e70565b949350505050565b600a546001600160a01b031633146112515760405162461bcd60e51b815260040161074d90611dcc565b601654610100900460ff16156112a35760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c8185b1c9958591e48195b98589b1959604a1b604482015260640161074d565b5f34116112eb5760405162461bcd60e51b81526020600482015260166024820152754e656564204d4f4e20666f72206c697175696469747960501b604482015260640161074d565b305f90815260046020526040902054806113535760405162461bcd60e51b815260206004820152602360248201527f4e6f20746f6b656e7320696e20636f6e747261637420666f72206c697175696460448201526269747960e81b606482015260840161074d565b600d5461136b9030906001600160a01b03168361143f565b600d54600a5460405163f305d71960e01b8152306004820152602481018490525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990349060c40160606040518083038185885af11580156113d8573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113fd9190611ea2565b50505050565b6001600160a01b0381165f9081526009602052604081205461142890610e1090611c66565b42101561143657505f919050565b61093282611176565b6001600160a01b0383166114955760405162461bcd60e51b815260206004820152601960248201527f417070726f76652066726f6d207a65726f206164647265737300000000000000604482015260640161074d565b6001600160a01b0382166114eb5760405162461bcd60e51b815260206004820152601760248201527f417070726f766520746f207a65726f2061646472657373000000000000000000604482015260640161074d565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166115a15760405162461bcd60e51b815260206004820152601a60248201527f5472616e736665722066726f6d207a65726f2061646472657373000000000000604482015260640161074d565b6001600160a01b0382166115f75760405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220746f207a65726f20616464726573730000000000000000604482015260640161074d565b5f81116116465760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604482015260640161074d565b6001600160a01b0383165f908152600460205260409020548111156116a45760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161074d565b601654610100900460ff1661171e57600a546001600160a01b03848116911614806116dc5750600a546001600160a01b038381169116145b61171e5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161074d565b6016545f90610100900460ff16801561173a575060165460ff16155b801561175e57506001600160a01b0384165f9081526006602052604090205460ff16155b801561178257506001600160a01b0383165f9081526006602052604090205460ff16155b90508080156117a15750601754305f9081526004602052604090205410155b80156117bb5750600c546001600160a01b03858116911614155b156117cb576117cb601754611ad4565b8181156119a257600c545f906001600160a01b039081169087160361180c57612710600f54856117fb9190611e59565b6118059190611e70565b9050611840565b600c546001600160a01b039081169086160361184057612710601054856118339190611e59565b61183d9190611e70565b90505b80156119a0576118508185611e8f565b915062015180600e546118639190611c66565b42101561194f575f600f546011548361187c9190611e59565b6118869190611e70565b90505f6118938284611e8f565b305f908152600460205260408120805492935084929091906118b6908490611c66565b9091555050600b546001600160a01b03165f90815260046020526040812080548392906118e4908490611c66565b909155505060405182815230906001600160a01b038a16905f516020611f6d5f395f51905f529060200160405180910390a3600b546040518281526001600160a01b03918216918a16905f516020611f6d5f395f51905f529060200160405180910390a350506119a0565b305f908152600460205260408120805483929061196d908490611c66565b909155505060405181815230906001600160a01b038816905f516020611f6d5f395f51905f529060200160405180910390a35b505b6001600160a01b0385165f90815260046020526040812080548592906119c9908490611e8f565b90915550506001600160a01b0384165f90815260046020526040812080548392906119f5908490611c66565b90915550506001600160a01b0384165f9081526008602052604090205460ff16158015611a305750600c546001600160a01b03858116911614155b15611a93576018546001600160a01b0385165f908152600460205260409020541115611a935760405162461bcd60e51b8152602060048201526012602482015271115e18d959591cc81b585e081dd85b1b195d60721b604482015260640161074d565b836001600160a01b0316856001600160a01b03165f516020611f6d5f395f51905f5283604051611ac591815260200190565b60405180910390a35050505050565b6016805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611b1457611b14611ecd565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611b6b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b8f9190611ee1565b81600181518110611ba257611ba2611ecd565b6001600160a01b039283166020918202929092010152600d54611bc8913091168461143f565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611c009085905f90869030904290600401611efc565b5f604051808303815f87803b158015611c17575f5ffd5b505af1925050508015611c28575060015b15611c44574760145f828254611c3e9190611c66565b90915550505b50506016805460ff19169055565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561093257610932611c52565b6001600160a01b0381168114611038575f5ffd5b5f60208284031215611c9d575f5ffd5b8135610e9d81611c79565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215611cee575f5ffd5b8235611cf981611c79565b946020939093013593505050565b5f60208284031215611d17575f5ffd5b5035919050565b5f5f5f60608486031215611d30575f5ffd5b8335611d3b81611c79565b92506020840135611d4b81611c79565b929592945050506040919091013590565b8015158114611038575f5ffd5b5f5f60408385031215611d7a575f5ffd5b8235611d8581611c79565b91506020830135611d9581611d5c565b809150509250929050565b5f5f60408385031215611db1575f5ffd5b8235611dbc81611c79565b91506020830135611d9581611c79565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b5f60208284031215611dff575f5ffd5b5051919050565b5f60208284031215611e16575f5ffd5b8151610e9d81611d5c565b600181811c90821680611e3557607f821691505b602082108103611e5357634e487b7160e01b5f52602260045260245ffd5b50919050565b808202811582820484141761093257610932611c52565b5f82611e8a57634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561093257610932611c52565b5f5f5f60608486031215611eb4575f5ffd5b5050815160208301516040909301519094929350919050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611ef1575f5ffd5b8151610e9d81611c79565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611f4c5783516001600160a01b0316835260209384019390920191600101611f25565b50506001600160a01b03959095166060840152505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e31aac12b8d6ff14ff6defd48ae3aa535cefe45401e5b1faef5f69abf6eb4c9164736f6c634300081e0033
Deployed Bytecode Sourcemap
1768:12573:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14321:9;14299:18;;:31;;;;;;;:::i;:::-;;;;;;;;1768:12573;;;;13919:213;;;;;;;;;;-1:-1:-1;13919:213:0;;;;;:::i;:::-;;:::i;:::-;;3222:49;;;;;;;;;;;;;;;;;;;810:25:1;;;798:2;783:18;3222:49:0;;;;;;;;5054:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5826:159::-;;;;;;;;;;-1:-1:-1;5826:159:0;;;;;:::i;:::-;;:::i;:::-;;;1806:14:1;;1799:22;1781:41;;1769:2;1754:18;5826:159:0;1641:187:1;2917:31:0;;;;;;;;;;;;;;;;5283:86;;;;;;;;;;-1:-1:-1;5354:12:0;;5283:86;;13718:189;;;;;;;;;;-1:-1:-1;13718:189:0;;;;;:::i;:::-;;:::i;11892:380::-;;;;;;;;;;-1:-1:-1;11892:380:0;;;;;:::i;:::-;;:::i;5997:392::-;;;;;;;;;;-1:-1:-1;5997:392:0;;;;;:::i;:::-;;:::i;2447:80::-;;;;;;;;;;;;2485:42;2447:80;;;;;-1:-1:-1;;;;;2741:32:1;;;2723:51;;2711:2;2696:18;2447:80:0;2577:203:1;13410:140:0;;;;;;;;;;-1:-1:-1;13410:140:0;;;;;:::i;:::-;;:::i;5208:69::-;;;;;;;;;;-1:-1:-1;5265:9:0;;5208:69;;5265:9;;;;3437:36:1;;3425:2;3410:18;5208:69:0;3295:184:1;9768:727:0;;;;;;;;;;;;;:::i;2693:48::-;;;;;;;;;;;;2734:7;2693:48;;3189:26;;;;;;;;;;-1:-1:-1;3189:26:0;;;;;;;;;;;2780:27;;;;;;;;;;;;;;;;2635:51;;;;;;;;;;;;2678:8;2635:51;;11586:251;;;;;;;;;;-1:-1:-1;11586:251:0;;;;;:::i;:::-;;:::i;5375:105::-;;;;;;;;;;-1:-1:-1;5375:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;5459:18:0;5441:7;5459:18;;;:9;:18;;;;;;;5375:105;2603:25;;;;;;;;;;;;;;;;12899:224;;;;;;;;;;;;;:::i;2389:20::-;;;;;;;;;;-1:-1:-1;2389:20:0;;;;-1:-1:-1;;;;;2389:20:0;;;2416:24;;;;;;;;;;-1:-1:-1;2416:24:0;;;;-1:-1:-1;;;;;2416:24:0;;;5129:73;;;;;;;;;;;;;:::i;3036:33::-;;;;;;;;;;;;;;;;2534:19;;;;;;;;;;-1:-1:-1;2534:19:0;;;;-1:-1:-1;;;;;2534:19:0;;;5492:165;;;;;;;;;;-1:-1:-1;5492:165:0;;;;;:::i;:::-;;:::i;2969:39::-;;;;;;;;;;;;;;;;3291:52;;;;;;;;;;;;;;;;13264:134;;;;;;;;;;-1:-1:-1;13264:134:0;;;;;:::i;:::-;;:::i;14144:105::-;;;;;;;;;;;;;:::i;2820:28::-;;;;;;;;;;;;;;;;13135:117;;;;;;;;;;-1:-1:-1;13135:117:0;;;;;:::i;:::-;;:::i;11053:309::-;;;;;;;;;;;;;:::i;13562:144::-;;;;;;;;;;-1:-1:-1;13562:144:0;;;;;:::i;:::-;;:::i;10507:534::-;;;;;;;;;;-1:-1:-1;10507:534:0;;;;;:::i;:::-;;:::i;5669:145::-;;;;;;;;;;-1:-1:-1;5669:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;5778:19:0;;;5751:7;5778:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5669:145;12284:603;;;:::i;3112:38::-;;;;;;;;;;;;;;;;2861:35;;;;;;;;;;;;;;;;11374:200;;;;;;;;;;-1:-1:-1;11374:200:0;;;;;:::i;:::-;;:::i;2560:30::-;;;;;;;;;;-1:-1:-1;2560:30:0;;;;-1:-1:-1;;;;;2560:30:0;;;13919:213;3440:5;;-1:-1:-1;;;;;3440:5:0;3426:10;:19;3418:41;;;;-1:-1:-1;;;3418:41:0;;;;;;;:::i;:::-;;;;;;;;;14011:4:::1;-1:-1:-1::0;;;;;13994:22:0;::::1;::::0;13986:58:::1;;;::::0;-1:-1:-1;;;13986:58:0;;4648:2:1;13986:58:0::1;::::0;::::1;4630:21:1::0;4687:2;4667:18;;;4660:30;4726:25;4706:18;;;4699:53;4769:18;;13986:58:0::1;4446:347:1::0;13986:58:0::1;14078:5;::::0;14085:38:::1;::::0;-1:-1:-1;;;14085:38:0;;14117:4:::1;14085:38;::::0;::::1;2723:51:1::0;-1:-1:-1;;;;;14055:22:0;;::::1;::::0;::::1;::::0;14078:5;::::1;::::0;14055:22;;14085:23:::1;::::0;2696:18:1;;14085:38:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14055:69;::::0;-1:-1:-1;;;;;;14055:69:0::1;::::0;;;;;;-1:-1:-1;;;;;5225:32:1;;;14055:69:0::1;::::0;::::1;5207:51:1::0;5274:18;;;5267:34;5180:18;;14055:69:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13919:213:::0;:::o;5054:69::-;5091:13;5115:5;5108:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5054:69;:::o;5826:159::-;5901:4;5918:37;5927:10;5939:7;5948:6;5918:8;:37::i;:::-;-1:-1:-1;5973:4:0;5826:159;;;;;:::o;13718:189::-;3440:5;;-1:-1:-1;;;;;3440:5:0;3426:10;:19;3418:41;;;;-1:-1:-1;;;3418:41:0;;;;;;;:::i;:::-;13828:3:::1;13808:12;;13823:1;13808:16;;;;:::i;:::-;13807:24;;;;:::i;:::-;13797:6;:34;;13789:65;;;::::0;-1:-1:-1;;;13789:65:0;;6544:2:1;13789:65:0::1;::::0;::::1;6526:21:1::0;6583:2;6563:18;;;6556:30;-1:-1:-1;;;6602:18:1;;;6595:48;6660:18;;13789:65:0::1;6342:342:1::0;13789:65:0::1;13875:15;:24:::0;13718:189::o;11892:380::-;3440:5;;-1:-1:-1;;;;;3440:5:0;3426:10;:19;3418:41;;;;-1:-1:-1;;;3418:41:0;;;;;;;:::i;:::-;11976:14:::1;::::0;::::1;::::0;::::1;;;11975:15;11967:51;;;::::0;-1:-1:-1;;;11967:51:0;;6891:2:1;11967:51:0::1;::::0;::::1;6873:21:1::0;6930:2;6910:18;;;6903:30;-1:-1:-1;;;6949:18:1;;;6942:53;7012:18;;11967:51:0::1;6689:347:1::0;11967:51:0::1;12047:5;::::0;-1:-1:-1;;;;;12047:5:0::1;12037:16;::::0;;;:9:::1;:16;::::0;;;;;:31;-1:-1:-1;12037:31:0::1;12029:64;;;::::0;-1:-1:-1;;;12029:64:0;;7243:2:1;12029:64:0::1;::::0;::::1;7225:21:1::0;7282:2;7262:18;;;7255:30;-1:-1:-1;;;7301:18:1;;;7294:50;7361:18;;12029:64:0::1;7041:344:1::0;12029:64:0::1;12124:5;::::0;-1:-1:-1;;;;;12124:5:0::1;12114:16;::::0;;;:9:::1;:16;::::0;;;;:31;;12134:11;;12114:16;:31:::1;::::0;12134:11;;12114:31:::1;:::i;:::-;::::0;;;-1:-1:-1;;12174:4:0::1;12156:24;::::0;;;:9:::1;:24;::::0;;;;:39;;12184:11;;12156:24;:39:::1;::::0;12184:11;;12156:39:::1;:::i;:::-;::::0;;;-1:-1:-1;;12230:5:0::1;::::0;12221:43:::1;::::0;810:25:1;;;12245:4:0::1;::::0;-1:-1:-1;;;;;12230:5:0::1;::::0;-1:-1:-1;;;;;;;;;;;12221:43:0;798:2:1;783:18;12221:43:0::1;;;;;;;11892:380:::0;:::o;5997:392::-;6095:4;6112:36;6122:6;6130:9;6141:6;6112:9;:36::i;:::-;-1:-1:-1;;;;;6186:19:0;;6159:24;6186:19;;;:11;:19;;;;;;;;6206:10;6186:31;;;;;;;;6236:26;;;;6228:65;;;;-1:-1:-1;;;6228:65:0;;7725:2:1;6228:65:0;;;7707:21:1;7764:2;7744:18;;;7737:30;7803:28;7783:18;;;7776:56;7849:18;;6228:65:0;7523:350:1;6228:65:0;6304:55;6313:6;6321:10;6333:25;6352:6;6333:16;:25;:::i;:::-;6304:8;:55::i;:::-;-1:-1:-1;6377:4:0;;5997:392;-1:-1:-1;;;;5997:392:0:o;13410:140::-;3440:5;;-1:-1:-1;;;;;3440:5:0;3426:10;:19;3418:41;;;;-1:-1:-1;;;3418:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13500:31:0;;;::::1;;::::0;;;:22:::1;:31;::::0;;;;:42;;-1:-1:-1;;13500:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13410:140::o;9768:727::-;9844:10;9821:34;;;;:22;:34;;;;;;;;9820:35;9812:69;;;;-1:-1:-1;;;9812:69:0;;8080:2:1;9812:69:0;;;8062:21:1;8119:2;8099:18;;;8092:30;-1:-1:-1;;;8138:18:1;;;8131:51;8199:18;;9812:69:0;7878:345:1;9812:69:0;9934:10;9919:26;;;;:14;:26;;;;;;:43;;2734:7;;9919:43;:::i;:::-;9900:15;:62;;9892:89;;;;-1:-1:-1;;;9892:89:0;;8430:2:1;9892:89:0;;;8412:21:1;8469:2;8449:18;;;8442:30;-1:-1:-1;;;8488:18:1;;;8481:44;8542:18;;9892:89:0;8228:338:1;9892:89:0;10002:14;10019:27;10035:10;10019:15;:27::i;:::-;10002:44;;10074:1;10065:6;:10;10057:43;;;;-1:-1:-1;;;10057:43:0;;8773:2:1;10057:43:0;;;8755:21:1;8812:2;8792:18;;;8785:30;-1:-1:-1;;;8831:18:1;;;8824:50;8891:18;;10057:43:0;8571:344:1;10057:43:0;10144:6;10119:21;:31;;10111:71;;;;-1:-1:-1;;;10111:71:0;;9122:2:1;10111:71:0;;;9104:21:1;9161:2;9141:18;;;9134:30;9200:29;9180:18;;;9173:57;9247:18;;10111:71:0;8920:351:1;10111:71:0;10218:10;10203:26;;;;:14;:26;;;;;10232:15;10203:44;;10258:23;:33;;10285:6;;10203:26;10258:33;;10285:6;;10258:33;:::i;:::-;;;;-1:-1:-1;;10331:43:0;;10313:12;;10339:10;;10363:6;;10313:12;10331:43;10313:12;10331:43;10363:6;10339:10;10331:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10312:62;;;10393:7;10385:42;;;;-1:-1:-1;;;10385:42:0;;9688:2:1;10385:42:0;;;9670:21:1;9727:2;9707:18;;;9700:30;-1:-1:-1;;;9746:18:1;;;9739:52;9808:18;;10385:42:0;9486:346:1;10385:42:0;10453:34;;810:25:1;;;10468:10:0;;10453:34;;798:2:1;783:18;10453:34:0;;;;;;;9801:694;;9768:727::o;11586:251::-;-1:-1:-1;;;;;11694:20:0;;11654:7;11694:20;;;:14;:20;;;;;;11654:7;;11694:37;;2734:7;;11694:37;:::i;:::-;11674:57;;11765:9;11746:15;:28;11742:42;;-1:-1:-1;11783:1:0;;11586:251;-1:-1:-1;;11586:251:0:o;11742:42::-;11802:27;11814:15;11802:9;:27;:::i;:::-;11795:34;11586:251;-1:-1:-1;;;11586:251:0:o;12899:224::-;3440:5;;-1:-1:-1;;;;;3440:5:0;3426:10;:19;3418:41;;;;-1:-1:-1;;;3418:41:0;;;;;;;:::i;:::-;12963:14:::1;::::0;::::1;::::0;::::1;;;12962:15;12954:43;;;::::0;-1:-1:-1;;;12954:43:0;;10039:2:1;12954:43:0::1;::::0;::::1;10021:21:1::0;10078:2;10058:18;;;10051:30;-1:-1:-1;;;10097:18:1;;;10090:45;10152:18;;12954:43:0::1;9837:339:1::0;12954:43:0::1;13008:14;:21:::0;;-1:-1:-1;;13008:21:0::1;;;::::0;;13053:15:::1;13040:10;:28:::0;;;13084:31:::1;::::0;::::1;::::0;::::1;::::0;810:25:1;;;798:2;783:18;;664:177;13084:31:0::1;;;;;;;;12899:224::o:0;5129:73::-;5168:13;5192:7;5185:14;;;;;:::i;5492:165::-;5570:4;5587:40;5597:10;5609:9;5620:6;5587:9;:40::i;13264:134::-;3440:5;;-1:-1:-1;;;;;3440:5:0;3426:10;:19;3418:41;;;;-1:-1:-1;;;3418:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13351:28:0;;;::::1;;::::0;;;:19:::1;:28;::::0;;;;:39;;-1:-1:-1;;13351:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13264:134::o;14144:105::-;3440:5;;-1:-1:-1;;;;;3440:5:0;3426:10;:19;3418:41;;;;-1:-1:-1;;;3418:41:0;;;;;;;:::i;:::-;14203:5:::1;::::0;14195:46:::1;::::0;-1:-1:-1;;;;;14203:5:0;;::::1;::::0;14219:21:::1;14195:46:::0;::::1;;;::::0;14203:5:::1;14195:46:::0;14203:5;14195:46;14219:21;14203:5;14195:46;::::1;;;;;;;;;;;;;;;;;;;;14144:105::o:0;13135:117::-;3440:5;;-1:-1:-1;;;;;3440:5:0;3426:10;:19;3418:41;;;;-1:-1:-1;;;3418:41:0;;;;;;;:::i;:::-;13216:13:::1;:28:::0;13135:117::o;11053:309::-;11142:12;;2485:42;11103:7;11177:22;;;:9;:22;;;;11103:7;;11142:12;11165:34;;11142:12;11165:34;:::i;:::-;11232:4;;-1:-1:-1;;;;;11232:4:0;11222:15;;;;:9;:15;;;;;;11165:34;;-1:-1:-1;11210:27:0;;11165:34;11210:27;:::i;:::-;11278:4;11260:24;;;;:9;:24;;;;;;11210:27;;-1:-1:-1;11248:36:0;;11210:27;11248:36;:::i;:::-;11307:21;;;:9;:21;;;;11248:36;;-1:-1:-1;11295:33:0;;11248:36;11295:33;:::i;13562:144::-;3440:5;;-1:-1:-1;;;;;3440:5:0;3426:10;:19;3418:41;;;;-1:-1:-1;;;3418:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13654:33:0;;;::::1;;::::0;;;:24:::1;:33;::::0;;;;:44;;-1:-1:-1;;13654:44:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13562:144::o;10507:534::-;-1:-1:-1;;;;;10591:28:0;;10567:7;10591:28;;;:22;:28;;;;;;;;10587:42;;;-1:-1:-1;10628:1:0;;10507:534;-1:-1:-1;10507:534:0:o;10587:42::-;-1:-1:-1;;;;;10644:15:0;;;;;;:9;:15;;;;;;:20;;10640:34;;-1:-1:-1;10673:1:0;;10507:534;-1:-1:-1;10507:534:0:o;10640:34::-;10689:18;;10711:1;10689:23;10685:37;;-1:-1:-1;10721:1:0;;10507:534;-1:-1:-1;10507:534:0:o;10685:37::-;10743:22;10768:19;:17;:19::i;:::-;10743:44;;10802:14;10820:1;10802:19;10798:33;;-1:-1:-1;10830:1:0;;10507:534;-1:-1:-1;;10507:534:0:o;10798:33::-;10960:18;;-1:-1:-1;;;;;10942:15:0;;10921:17;10942:15;;;:9;:15;;;;;;10921:17;;10982:14;;10942:36;;10960:18;10942:36;:::i;:::-;10941:55;;;;:::i;:::-;10921:75;10507:534;-1:-1:-1;;;;10507:534:0:o;12284:603::-;3440:5;;-1:-1:-1;;;;;3440:5:0;3426:10;:19;3418:41;;;;-1:-1:-1;;;3418:41:0;;;;;;;:::i;:::-;12355:14:::1;::::0;::::1;::::0;::::1;;;12354:15;12346:51;;;::::0;-1:-1:-1;;;12346:51:0;;6891:2:1;12346:51:0::1;::::0;::::1;6873:21:1::0;6930:2;6910:18;;;6903:30;-1:-1:-1;;;6949:18:1;;;6942:53;7012:18;;12346:51:0::1;6689:347:1::0;12346:51:0::1;12428:1;12416:9;:13;12408:48;;;::::0;-1:-1:-1;;;12408:48:0;;10383:2:1;12408:48:0::1;::::0;::::1;10365:21:1::0;10422:2;10402:18;;;10395:30;-1:-1:-1;;;10441:18:1;;;10434:52;10503:18;;12408:48:0::1;10181:346:1::0;12408:48:0::1;12517:4;12477:19;12499:24:::0;;;:9:::1;:24;::::0;;;;;12542:15;12534:63:::1;;;::::0;-1:-1:-1;;;12534:63:0;;10734:2:1;12534:63:0::1;::::0;::::1;10716:21:1::0;10773:2;10753:18;;;10746:30;10812:34;10792:18;;;10785:62;-1:-1:-1;;;10863:18:1;;;10856:33;10906:19;;12534:63:0::1;10532:399:1::0;12534:63:0::1;12650:6;::::0;12618:53:::1;::::0;12635:4:::1;::::0;-1:-1:-1;;;;;12650:6:0::1;12659:11:::0;12618:8:::1;:53::i;:::-;12692:6;::::0;12833:5:::1;::::0;12692:187:::1;::::0;-1:-1:-1;;;12692:187:0;;12755:4:::1;12692:187;::::0;::::1;11239:51:1::0;11306:18;;;11299:34;;;12692:6:0::1;11349:18:1::0;;;11342:34;;;11392:18;;;11385:34;-1:-1:-1;;;;;12833:5:0;;::::1;11435:19:1::0;;;11428:61;12853:15:0::1;11505:19:1::0;;;11498:35;12692:6:0;::::1;::::0;:22:::1;::::0;12722:9:::1;::::0;11211:19:1;;12692:187:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12335:552;12284:603::o:0;11374:200::-;-1:-1:-1;;;;;11480:20:0;;11438:7;11480:20;;;:14;:20;;;;;;:37;;2734:7;;11480:37;:::i;:::-;11462:15;:55;11458:69;;;-1:-1:-1;11526:1:0;;11374:200;-1:-1:-1;11374:200:0:o;11458:69::-;11545:21;11561:4;11545:15;:21::i;6401:317::-;-1:-1:-1;;;;;6495:20:0;;6487:58;;;;-1:-1:-1;;;6487:58:0;;12207:2:1;6487:58:0;;;12189:21:1;12246:2;12226:18;;;12219:30;12285:27;12265:18;;;12258:55;12330:18;;6487:58:0;12005:349:1;6487:58:0;-1:-1:-1;;;;;6564:21:0;;6556:57;;;;-1:-1:-1;;;6556:57:0;;12561:2:1;6556:57:0;;;12543:21:1;12600:2;12580:18;;;12573:30;12639:25;12619:18;;;12612:53;12682:18;;6556:57:0;12359:347:1;6556:57:0;-1:-1:-1;;;;;6624:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;6677:33;;810:25:1;;;6677:33:0;;783:18:1;6677:33:0;;;;;;;6401:317;;;:::o;6730:2428::-;-1:-1:-1;;;;;6818:18:0;;6810:57;;;;-1:-1:-1;;;6810:57:0;;12913:2:1;6810:57:0;;;12895:21:1;12952:2;12932:18;;;12925:30;12991:28;12971:18;;;12964:56;13037:18;;6810:57:0;12711:350:1;6810:57:0;-1:-1:-1;;;;;6886:16:0;;6878:53;;;;-1:-1:-1;;;6878:53:0;;13268:2:1;6878:53:0;;;13250:21:1;13307:2;13287:18;;;13280:30;13346:26;13326:18;;;13319:54;13390:18;;6878:53:0;13066:348:1;6878:53:0;6959:1;6950:6;:10;6942:55;;;;-1:-1:-1;;;6942:55:0;;13621:2:1;6942:55:0;;;13603:21:1;;;13640:18;;;13633:30;13699:34;13679:18;;;13672:62;13751:18;;6942:55:0;13419:356:1;6942:55:0;-1:-1:-1;;;;;7016:15:0;;;;;;:9;:15;;;;;;:25;-1:-1:-1;7016:25:0;7008:58;;;;-1:-1:-1;;;7008:58:0;;7243:2:1;7008:58:0;;;7225:21:1;7282:2;7262:18;;;7255:30;-1:-1:-1;;;7301:18:1;;;7294:50;7361:18;;7008:58:0;7041:344:1;7008:58:0;7092:14;;;;;;;7087:108;;7139:5;;-1:-1:-1;;;;;7131:13:0;;;7139:5;;7131:13;;:28;;-1:-1:-1;7154:5:0;;-1:-1:-1;;;;;7148:11:0;;;7154:5;;7148:11;7131:28;7123:60;;;;-1:-1:-1;;;7123:60:0;;13982:2:1;7123:60:0;;;13964:21:1;14021:2;14001:18;;;13994:30;-1:-1:-1;;;14040:18:1;;;14033:49;14099:18;;7123:60:0;13780:343:1;7123:60:0;7230:14;;7215:12;;7230:14;;;;;:25;;;;-1:-1:-1;7249:6:0;;;;7248:7;7230:25;:55;;;;-1:-1:-1;;;;;;7260:25:0;;;;;;:19;:25;;;;;;;;7259:26;7230:55;:83;;;;-1:-1:-1;;;;;;7290:23:0;;;;;;:19;:23;;;;;;;;7289:24;7230:83;7215:98;;7338:7;:52;;;;-1:-1:-1;7377:13:0;;7367:4;5441:7;5459:18;;;:9;:18;;;;;;7349:41;;7338:52;:68;;;;-1:-1:-1;7402:4:0;;-1:-1:-1;;;;;7394:12:0;;;7402:4;;7394:12;;7338:68;7334:136;;;7423:35;7444:13;;7423:20;:35::i;:::-;7515:6;7542:1232;;;;7646:4;;7570:11;;-1:-1:-1;;;;;7646:4:0;;;7638:12;;;;7634:211;;7697:5;7687:6;;7678;:15;;;;:::i;:::-;7677:25;;;;:::i;:::-;7671:31;;7634:211;;;7772:4;;-1:-1:-1;;;;;7772:4:0;;;7766:10;;;;7762:83;;7824:5;7813:7;;7804:6;:16;;;;:::i;:::-;7803:26;;;;:::i;:::-;7797:32;;7762:83;7877:7;;7873:890;;7922:12;7931:3;7922:6;:12;:::i;:::-;7905:29;;2678:8;8036:10;;:29;;;;:::i;:::-;8018:15;:47;8014:734;;;8140:18;8186:6;;8168:14;;8162:3;:20;;;;:::i;:::-;8161:31;;;;:::i;:::-;8140:52;-1:-1:-1;8215:14:0;8232:16;8140:52;8232:3;:16;:::i;:::-;8311:4;8293:24;;;;:9;:24;;;;;:38;;8215:33;;-1:-1:-1;8321:10:0;;8293:24;;;:38;;8321:10;;8293:38;:::i;:::-;;;;-1:-1:-1;;8364:9:0;;-1:-1:-1;;;;;8364:9:0;8354:20;;;;:9;:20;;;;;:30;;8378:6;;8354:20;:30;;8378:6;;8354:30;:::i;:::-;;;;-1:-1:-1;;8434:41:0;;810:25:1;;;8457:4:0;;-1:-1:-1;;;;;8434:41:0;;;-1:-1:-1;;;;;;;;;;;8434:41:0;798:2:1;783:18;8434:41:0;;;;;;;8518:9;;8503:33;;810:25:1;;;-1:-1:-1;;;;;8518:9:0;;;;8503:33;;;-1:-1:-1;;;;;;;;;;;8503:33:0;798:2:1;783:18;8503:33:0;;;;;;;8067:489;;8014:734;;;8653:4;8635:24;;;;:9;:24;;;;;:31;;8663:3;;8635:24;:31;;8663:3;;8635:31;:::i;:::-;;;;-1:-1:-1;;8694:34:0;;810:25:1;;;8717:4:0;;-1:-1:-1;;;;;8694:34:0;;;-1:-1:-1;;;;;;;;;;;8694:34:0;798:2:1;783:18;8694:34:0;;;;;;;8014:734;7555:1219;7542:1232;-1:-1:-1;;;;;8794:15:0;;;;;;:9;:15;;;;;:25;;8813:6;;8794:15;:25;;8813:6;;8794:25;:::i;:::-;;;;-1:-1:-1;;;;;;;8830:13:0;;;;;;:9;:13;;;;;:31;;8847:14;;8830:13;:31;;8847:14;;8830:31;:::i;:::-;;;;-1:-1:-1;;;;;;;8957:28:0;;;;;;:24;:28;;;;;;;;8956:29;:43;;;;-1:-1:-1;8995:4:0;;-1:-1:-1;;;;;8989:10:0;;;8995:4;;8989:10;;8956:43;8952:139;;;9041:15;;-1:-1:-1;;;;;9024:13:0;;;;;;:9;:13;;;;;;:32;;9016:63;;;;-1:-1:-1;;;9016:63:0;;14330:2:1;9016:63:0;;;14312:21:1;14369:2;14349:18;;;14342:30;-1:-1:-1;;;14388:18:1;;;14381:48;14446:18;;9016:63:0;14128:342:1;9016:63:0;9131:2;-1:-1:-1;;;;;9116:34:0;9125:4;-1:-1:-1;;;;;9116:34:0;-1:-1:-1;;;;;;;;;;;9135:14:0;9116:34;;;;810:25:1;;798:2;783:18;;664:177;9116:34:0;;;;;;;;6799:2359;;6730:2428;;;:::o;9170:560::-;3522:6;:13;;-1:-1:-1;;3522:13:0;3531:4;3522:13;;;9273:16:::1;::::0;;9287:1:::1;9273:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9273:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9273:16:0::1;9249:40;;9318:4;9300;9305:1;9300:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9300:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9344:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9344:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9300:7;;9344:13;;;;;:6;:13:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9334:4;9339:1;9334:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9334:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9410:6:::1;::::0;9378:53:::1;::::0;9395:4:::1;::::0;9410:6:::1;9419:11:::0;9378:8:::1;:53::i;:::-;9456:6;::::0;:187:::1;::::0;-1:-1:-1;;;9456:187:0;;-1:-1:-1;;;;;9456:6:0;;::::1;::::0;:57:::1;::::0;:187:::1;::::0;9528:11;;9456:6:::1;::::0;9570:4;;9597::::1;::::0;9617:15:::1;::::0;9456:187:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9452:271:::0;::::1;;9681:21;9659:18;;:43;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;9452:271:0::1;-1:-1:-1::0;;3558:6:0;:14;;-1:-1:-1;;3558:14:0;;;9170:560::o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:125;211:9;;;232:10;;;229:36;;;245:18;;:::i;276:131::-;-1:-1:-1;;;;;351:31:1;;341:42;;331:70;;397:1;394;387:12;412:247;471:6;524:2;512:9;503:7;499:23;495:32;492:52;;;540:1;537;530:12;492:52;579:9;566:23;598:31;623:5;598:31;:::i;846:418::-;995:2;984:9;977:21;958:4;1027:6;1021:13;1070:6;1065:2;1054:9;1050:18;1043:34;1129:6;1124:2;1116:6;1112:15;1107:2;1096:9;1092:18;1086:50;1185:1;1180:2;1171:6;1160:9;1156:22;1152:31;1145:42;1255:2;1248;1244:7;1239:2;1231:6;1227:15;1223:29;1212:9;1208:45;1204:54;1196:62;;;846:418;;;;:::o;1269:367::-;1337:6;1345;1398:2;1386:9;1377:7;1373:23;1369:32;1366:52;;;1414:1;1411;1404:12;1366:52;1453:9;1440:23;1472:31;1497:5;1472:31;:::i;:::-;1522:5;1600:2;1585:18;;;;1572:32;;-1:-1:-1;;;1269:367:1:o;1833:226::-;1892:6;1945:2;1933:9;1924:7;1920:23;1916:32;1913:52;;;1961:1;1958;1951:12;1913:52;-1:-1:-1;2006:23:1;;1833:226;-1:-1:-1;1833:226:1:o;2064:508::-;2141:6;2149;2157;2210:2;2198:9;2189:7;2185:23;2181:32;2178:52;;;2226:1;2223;2216:12;2178:52;2265:9;2252:23;2284:31;2309:5;2284:31;:::i;:::-;2334:5;-1:-1:-1;2391:2:1;2376:18;;2363:32;2404:33;2363:32;2404:33;:::i;:::-;2064:508;;2456:7;;-1:-1:-1;;;2536:2:1;2521:18;;;;2508:32;;2064:508::o;2785:118::-;2871:5;2864:13;2857:21;2850:5;2847:32;2837:60;;2893:1;2890;2883:12;2908:382;2973:6;2981;3034:2;3022:9;3013:7;3009:23;3005:32;3002:52;;;3050:1;3047;3040:12;3002:52;3089:9;3076:23;3108:31;3133:5;3108:31;:::i;:::-;3158:5;-1:-1:-1;3215:2:1;3200:18;;3187:32;3228:30;3187:32;3228:30;:::i;:::-;3277:7;3267:17;;;2908:382;;;;;:::o;3484:388::-;3552:6;3560;3613:2;3601:9;3592:7;3588:23;3584:32;3581:52;;;3629:1;3626;3619:12;3581:52;3668:9;3655:23;3687:31;3712:5;3687:31;:::i;:::-;3737:5;-1:-1:-1;3794:2:1;3779:18;;3766:32;3807:33;3766:32;3807:33;:::i;4109:332::-;4311:2;4293:21;;;4350:1;4330:18;;;4323:29;-1:-1:-1;;;4383:2:1;4368:18;;4361:39;4432:2;4417:18;;4109:332::o;4798:230::-;4868:6;4921:2;4909:9;4900:7;4896:23;4892:32;4889:52;;;4937:1;4934;4927:12;4889:52;-1:-1:-1;4982:16:1;;4798:230;-1:-1:-1;4798:230:1:o;5312:245::-;5379:6;5432:2;5420:9;5411:7;5407:23;5403:32;5400:52;;;5448:1;5445;5438:12;5400:52;5480:9;5474:16;5499:28;5521:5;5499:28;:::i;5562:380::-;5641:1;5637:12;;;;5684;;;5705:61;;5759:4;5751:6;5747:17;5737:27;;5705:61;5812:2;5804:6;5801:14;5781:18;5778:38;5775:161;;5858:10;5853:3;5849:20;5846:1;5839:31;5893:4;5890:1;5883:15;5921:4;5918:1;5911:15;5775:161;;5562:380;;;:::o;5947:168::-;6020:9;;;6051;;6068:15;;;6062:22;;6048:37;6038:71;;6089:18;;:::i;6120:217::-;6160:1;6186;6176:132;;6230:10;6225:3;6221:20;6218:1;6211:31;6265:4;6262:1;6255:15;6293:4;6290:1;6283:15;6176:132;-1:-1:-1;6322:9:1;;6120:217::o;7390:128::-;7457:9;;;7478:11;;;7475:37;;;7492:18;;:::i;11544:456::-;11632:6;11640;11648;11701:2;11689:9;11680:7;11676:23;11672:32;11669:52;;;11717:1;11714;11707:12;11669:52;-1:-1:-1;;11762:16:1;;11868:2;11853:18;;11847:25;11964:2;11949:18;;;11943:25;11762:16;;11847:25;;-1:-1:-1;11943:25:1;11544:456;-1:-1:-1;11544:456:1:o;14607:127::-;14668:10;14663:3;14659:20;14656:1;14649:31;14699:4;14696:1;14689:15;14723:4;14720:1;14713:15;14739:251;14809:6;14862:2;14850:9;14841:7;14837:23;14833:32;14830:52;;;14878:1;14875;14868:12;14830:52;14910:9;14904:16;14929:31;14954:5;14929:31;:::i;14995:959::-;15257:4;15305:3;15294:9;15290:19;15336:6;15325:9;15318:25;15379:6;15374:2;15363:9;15359:18;15352:34;15422:3;15417:2;15406:9;15402:18;15395:31;15446:6;15481;15475:13;15512:6;15504;15497:22;15550:3;15539:9;15535:19;15528:26;;15589:2;15581:6;15577:15;15563:29;;15610:1;15620:195;15634:6;15631:1;15628:13;15620:195;;;15699:13;;-1:-1:-1;;;;;15695:39:1;15683:52;;15764:2;15790:15;;;;15755:12;;;;15731:1;15649:9;15620:195;;;-1:-1:-1;;;;;;;15871:32:1;;;;15866:2;15851:18;;15844:60;-1:-1:-1;;15935:3:1;15920:19;15913:35;15832:3;14995:959;-1:-1:-1;;;14995:959:1:o
Swarm Source
ipfs://e31aac12b8d6ff14ff6defd48ae3aa535cefe45401e5b1faef5f69abf6eb4c91
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in MON
Token Allocations
MON
100.00%
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| MONAD | 100.00% | $0.020345 | 0.0000000000015518 | <$0.000001 |
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.