ERC-20
Overview
Max Total Supply
100,000,000 OCT
Holders
113
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Source Code Verified (Exact Match)
Contract Name:
OctanePay
Compiler Version
v0.8.25+commit.b61c2a91
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-05-14
*/
/*
OctanePay is a next-generation crypto payment gateway designed to make digital currency transactions effortless, secure, and completely fee-free.
Website : https://www.octanepay.app/
Docs : https://docs.octanepay.app/
Github : https://github.com/OctanePay
X / Twitter : https://x.com/OctanePay
Telegram : https://t.me/OctanePay
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.25;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount)
external
returns (bool);
function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB)
external
returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);
}
contract OctanePay is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isExcludedFromFee;
mapping(address => bool) private bots;
mapping(address => uint256) private _holderLastTransferTimestamp;
bool public transferDelayEnabled = true;
uint256 private _launchBuyFee = 20;
uint256 private _launchSellFee = 20;
uint256 private _stableBuyFee = 5;
uint256 private _stableSellFee = 15;
uint256 private _buyPhaseLimit = 80;
uint256 private _sellPhaseLimit = 80;
uint256 private _swapActivationPoint = 20;
uint256 private _totalBuys = 0;
uint256 private _taxWallet1Amount = 70;
uint256 private _taxWallet2Amount = 30;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 100000000 * 10**_decimals;
string private constant _name = unicode"OctanePay";
string private constant _symbol = unicode"OCT";
uint256 public _maxTransactionLimit = 1000000 * 10**_decimals;
uint256 public _walletSizeRestriction = 1000000 * 10**_decimals;
uint256 public _swapTriggerThreshold = 400000 * 10**_decimals;
uint256 public _swapCapAmount = 1500000 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
mapping(address => uint256) private cooldownTimer;
uint8 public cooldownTimerInterval = 1;
uint256 private lastExecutedBlockNumber;
event MaxTxAmountUpdated(uint256 _maxTransactionLimit);
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
TaxSystem[] private _taxSystem;
struct TaxSystem {
address taxWallet;
uint256 taxPercentageValue;
}
constructor(TaxSystem[] memory taxSystem) {
// Track the total of taxPercentageValue
uint256 totaltaxPercentageValue;
for (uint256 i = 0; i < taxSystem.length; i++) {
totaltaxPercentageValue += taxSystem[i].taxPercentageValue;
_taxSystem.push(taxSystem[i]);
_isExcludedFromFee[taxSystem[i].taxWallet] = true;
}
require(
totaltaxPercentageValue <= 100,
"ERR: TAX PERCENTAGE VALUE OVERFLOW, KEPT BELOW 100"
);
_balances[owner()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
emit Transfer(address(0), owner(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount)
public
override
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender)
public
view
override
returns (uint256)
{
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
amount,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function _approve(
address owner,
address spender,
uint256 amount
) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(
address from,
address to,
uint256 amount
) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if (from != owner() && to != owner()) {
require(!bots[from] && !bots[to]);
taxAmount = amount
.mul(
(_totalBuys > _buyPhaseLimit)
? _stableBuyFee
: _launchBuyFee
)
.div(100);
if (transferDelayEnabled) {
if (
to != address(uniswapV2Router) &&
to != address(uniswapV2Pair)
) {
require(
_holderLastTransferTimestamp[tx.origin] < block.number,
"_transfer:: Transfer Delay enabled. Only one purchase per block allowed."
);
_holderLastTransferTimestamp[tx.origin] = block.number;
}
}
if (
from == uniswapV2Pair &&
to != address(uniswapV2Router) &&
!_isExcludedFromFee[to]
) {
require(amount <= _maxTransactionLimit, "Exceeds the _maxTransactionLimit.");
require(
balanceOf(to) + amount <= _walletSizeRestriction,
"Exceeds the maxWalletSize."
);
_totalBuys++;
}
if (to == uniswapV2Pair && from != address(this)) {
taxAmount = amount
.mul(
(_totalBuys > _sellPhaseLimit)
? _stableSellFee
: _launchSellFee
)
.div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (
!inSwap &&
to == uniswapV2Pair &&
swapEnabled &&
contractTokenBalance > _swapTriggerThreshold &&
_totalBuys > _swapActivationPoint
) {
require(
block.number > lastExecutedBlockNumber,
"Exceeds the maxWalletSize."
);
swapTokensForEth(
min(amount, min(contractTokenBalance, _swapCapAmount))
);
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
lastExecutedBlockNumber = block.number;
}
}
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
_balances[from] = _balances[from].sub(amount);
_balances[to] = _balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function unlockTokenLimits() external onlyOwner {
_maxTransactionLimit = _tTotal;
_walletSizeRestriction = _tTotal;
transferDelayEnabled = false;
emit MaxTxAmountUpdated(_tTotal);
}
/**
* @dev MAIN CHANGE
* Modified this function to accept the dyanmic tax system.
*/
function sendETHToFee(uint256 amount) private {
// Keep track of the amount
uint256 amountLeft = amount;
// Iterate from _taxSystem and sends the taxAmount calc from the taxPercentageValue
for (uint256 i = 0; i < _taxSystem.length; i++) {
uint256 taxAmount = (amount * _taxSystem[i].taxPercentageValue) /
100;
amountLeft -= taxAmount;
payable(_taxSystem[i].taxWallet).transfer(taxAmount);
}
// Safety measures to ensure that no amount left is being kept
// if somehow there was still some amounts left, send it to _taxSystem[0].taxWallet
if (amountLeft > 0) {
// default to _taxSystem[0].taxWallet incase the dev wants to renounceOwnership
payable(_taxSystem[0].taxWallet).transfer(amountLeft);
}
}
function activateTrading() external onlyOwner {
require(!tradingOpen, "trading is already open");
uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
address(this),
uniswapV2Router.WETH()
);
uniswapV2Router.addLiquidityETH{value: address(this).balance}(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
IERC20(uniswapV2Pair).approve(
address(uniswapV2Router),
type(uint256).max
);
swapEnabled = true;
tradingOpen = true;
}
function changeTaxWalletPercentage(uint256 index, uint256 amount)
external
onlyOwner
{
_taxSystem[index].taxPercentageValue = amount;
}
function getCurrentTaxRates() external view returns (uint256 buyTax, uint256 sellTax) {
buyTax = (_totalBuys > _buyPhaseLimit) ? _stableBuyFee : _launchBuyFee;
sellTax = (_totalBuys > _sellPhaseLimit) ? _stableSellFee : _launchSellFee;
}
function isTradingLive() external view returns (bool) {
return tradingOpen;
}
function setManualFee(uint256 _newFee) external {
require(_msgSender() == owner());
require(_newFee <= _stableBuyFee && _newFee <= _stableSellFee);
_stableBuyFee = _newFee;
_stableSellFee = _newFee;
}
receive() external payable {}
function manualSwap() external {
require(_msgSender() == owner());
uint256 tokenBalance = balanceOf(address(this));
if (tokenBalance > 0) {
swapTokensForEth(tokenBalance);
}
uint256 ethBalance = address(this).balance;
if (ethBalance > 0) {
sendETHToFee(ethBalance);
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"components":[{"internalType":"address","name":"taxWallet","type":"address"},{"internalType":"uint256","name":"taxPercentageValue","type":"uint256"}],"internalType":"struct OctanePay.TaxSystem[]","name":"taxSystem","type":"tuple[]"}],"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":false,"internalType":"uint256","name":"_maxTransactionLimit","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTransactionLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapCapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTriggerThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletSizeRestriction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activateTrading","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":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeTaxWalletPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCurrentTaxRates","outputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradingLive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"setManualFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"unlockTokenLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600160065f6101000a81548160ff021916908315150217905550601460075560146008556005600955600f600a556050600b556050600c556014600d555f600e556046600f55601e6010556009600a61005d91906106d9565b620f424061006b9190610723565b6011556009600a61007c91906106d9565b620f424061008a9190610723565b6012556009600a61009b91906106d9565b62061a806100a99190610723565b6013556009600a6100ba91906106d9565b6216e3606100c89190610723565b6014555f601660156101000a81548160ff0219169083151502179055505f6016806101000a81548160ff021916908315150217905550600160185f6101000a81548160ff021916908360ff160217905550348015610124575f80fd5b50604051613f89380380613f898339818101604052810190610146919061099a565b5f61015561053a60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f805f90505b825181101561033e57828181518110610213576102126109e1565b5b6020026020010151602001518261022a9190610a0e565b9150601a838281518110610241576102406109e1565b5b6020026020010151908060018154018082558091505060019003905f5260205f2090600202015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101555050600160035f8584815181106102d7576102d66109e1565b5b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506101f7565b506064811115610383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037a90610ac1565b60405180910390fd5b6009600a61039191906106d9565b6305f5e1006103a09190610723565b60015f6103b161054160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61040161054160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506104b361054160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a61050f91906106d9565b6305f5e10061051e9190610723565b60405161052b9190610aee565b60405180910390a35050610b07565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156105ea578086048111156105c6576105c5610568565b5b60018516156105d55780820291505b80810290506105e385610595565b94506105aa565b94509492505050565b5f8261060257600190506106bd565b8161060f575f90506106bd565b8160018114610625576002811461062f5761065e565b60019150506106bd565b60ff84111561064157610640610568565b5b8360020a91508482111561065857610657610568565b5b506106bd565b5060208310610133831016604e8410600b84101617156106935782820a90508381111561068e5761068d610568565b5b6106bd565b6106a084848460016105a1565b925090508184048111156106b7576106b6610568565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6106e3826106c4565b91506106ee836106cd565b925061071b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846105f3565b905092915050565b5f61072d826106c4565b9150610738836106c4565b9250828202610746816106c4565b9150828204841483151761075d5761075c610568565b5b5092915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6107bf82610779565b810181811067ffffffffffffffff821117156107de576107dd610789565b5b80604052505050565b5f6107f0610764565b90506107fc82826107b6565b919050565b5f67ffffffffffffffff82111561081b5761081a610789565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61085d82610834565b9050919050565b61086d81610853565b8114610877575f80fd5b50565b5f8151905061088881610864565b92915050565b610897816106c4565b81146108a1575f80fd5b50565b5f815190506108b28161088e565b92915050565b5f604082840312156108cd576108cc610830565b5b6108d760406107e7565b90505f6108e68482850161087a565b5f8301525060206108f9848285016108a4565b60208301525092915050565b5f61091761091284610801565b6107e7565b9050808382526020820190506040840283018581111561093a5761093961082c565b5b835b81811015610963578061094f88826108b8565b84526020840193505060408101905061093c565b5050509392505050565b5f82601f83011261098157610980610775565b5b8151610991848260208601610905565b91505092915050565b5f602082840312156109af576109ae61076d565b5b5f82015167ffffffffffffffff8111156109cc576109cb610771565b5b6109d88482850161096d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f610a18826106c4565b9150610a23836106c4565b9250828201905080821115610a3b57610a3a610568565b5b92915050565b5f82825260208201905092915050565b7f4552523a205441582050455243454e544147452056414c5545204f564552464c5f8201527f4f572c204b4550542042454c4f57203130300000000000000000000000000000602082015250565b5f610aab603283610a41565b9150610ab682610a51565b604082019050919050565b5f6020820190508181035f830152610ad881610a9f565b9050919050565b610ae8816106c4565b82525050565b5f602082019050610b015f830184610adf565b92915050565b61347580610b145f395ff3fe60806040526004361061014e575f3560e01c806370a08231116100b5578063a9059cbb1161006e578063a9059cbb14610446578063bafeb47914610482578063c63dfc31146104ac578063c876d0b9146104c2578063dd62ed3e146104ec578063e68fa5181461052857610155565b806370a082311461034b578063715018a614610387578063722b62ad1461039d578063807e3ee9146103c75780638da5cb5b146103f257806395d89b411461041c57610155565b80632ded0b04116101075780632ded0b0414610265578063313ce5671461028f5780633abee352146102b957806351bc3c85146102e357806361f6d19d146102f95780636bb1231e1461032357610155565b806306fdde0314610159578063095ea7b3146101835780630bd05b69146101bf57806313314431146101d557806318160ddd146101ff57806323b872dd1461022957610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610550565b60405161017a91906124b1565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a49190612562565b61058d565b6040516101b691906125ba565b60405180910390f35b3480156101ca575f80fd5b506101d36105aa565b005b3480156101e0575f80fd5b506101e9610acb565b6040516101f691906125e2565b60405180910390f35b34801561020a575f80fd5b50610213610ad1565b60405161022091906125e2565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a91906125fb565b610af4565b60405161025c91906125ba565b60405180910390f35b348015610270575f80fd5b50610279610bc8565b60405161028691906125ba565b60405180910390f35b34801561029a575f80fd5b506102a3610bde565b6040516102b09190612666565b60405180910390f35b3480156102c4575f80fd5b506102cd610be6565b6040516102da91906125e2565b60405180910390f35b3480156102ee575f80fd5b506102f7610bec565b005b348015610304575f80fd5b5061030d610c69565b60405161031a91906125e2565b60405180910390f35b34801561032e575f80fd5b506103496004803603810190610344919061267f565b610c6f565b005b348015610356575f80fd5b50610371600480360381019061036c91906126aa565b610ce1565b60405161037e91906125e2565b60405180910390f35b348015610392575f80fd5b5061039b610d27565b005b3480156103a8575f80fd5b506103b1610e75565b6040516103be9190612666565b60405180910390f35b3480156103d2575f80fd5b506103db610e87565b6040516103e99291906126d5565b60405180910390f35b3480156103fd575f80fd5b50610406610ebf565b604051610413919061270b565b60405180910390f35b348015610427575f80fd5b50610430610ee6565b60405161043d91906124b1565b60405180910390f35b348015610451575f80fd5b5061046c60048036038101906104679190612562565b610f23565b60405161047991906125ba565b60405180910390f35b34801561048d575f80fd5b50610496610f40565b6040516104a391906125e2565b60405180910390f35b3480156104b7575f80fd5b506104c0610f46565b005b3480156104cd575f80fd5b506104d661108e565b6040516104e391906125ba565b60405180910390f35b3480156104f7575f80fd5b50610512600480360381019061050d9190612724565b6110a0565b60405161051f91906125e2565b60405180910390f35b348015610533575f80fd5b5061054e60048036038101906105499190612762565b611122565b005b60606040518060400160405280600981526020017f4f6374616e655061790000000000000000000000000000000000000000000000815250905090565b5f6105a06105996111e2565b84846111e9565b6001905092915050565b6105b26111e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461063e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610635906127ea565b60405180910390fd5b601660149054906101000a900460ff161561068e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068590612852565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061072a3060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61071691906129cc565b6305f5e1006107259190612a16565b6111e9565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610794573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b89190612a6b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108629190612a6b565b6040518363ffffffff1660e01b815260040161087f929190612a96565b6020604051808303815f875af115801561089b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108bf9190612a6b565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061094630610ce1565b5f80610950610ebf565b426040518863ffffffff1660e01b815260040161097296959493929190612aff565b60606040518083038185885af115801561098e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109b39190612b72565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a53929190612bc2565b6020604051808303815f875af1158015610a6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a939190612c13565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b60125481565b5f6009600a610ae091906129cc565b6305f5e100610aef9190612a16565b905090565b5f610b008484846113ac565b610bbd84610b0c6111e2565b610bb8856040518060600160405280602881526020016134186028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610b6f6111e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e109092919063ffffffff16565b6111e9565b600190509392505050565b5f601660149054906101000a900460ff16905090565b5f6009905090565b60145481565b610bf4610ebf565b73ffffffffffffffffffffffffffffffffffffffff16610c126111e2565b73ffffffffffffffffffffffffffffffffffffffff1614610c31575f80fd5b5f610c3b30610ce1565b90505f811115610c4f57610c4e81611e72565b5b5f4790505f811115610c6557610c64816120dd565b5b5050565b60115481565b610c77610ebf565b73ffffffffffffffffffffffffffffffffffffffff16610c956111e2565b73ffffffffffffffffffffffffffffffffffffffff1614610cb4575f80fd5b6009548111158015610cc85750600a548111155b610cd0575f80fd5b8060098190555080600a8190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d2f6111e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db2906127ea565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60185f9054906101000a900460ff1681565b5f80600b54600e5411610e9c57600754610ea0565b6009545b9150600c54600e5411610eb557600854610eb9565b600a545b90509091565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4f43540000000000000000000000000000000000000000000000000000000000815250905090565b5f610f36610f2f6111e2565b84846113ac565b6001905092915050565b60135481565b610f4e6111e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd1906127ea565b60405180910390fd5b6009600a610fe891906129cc565b6305f5e100610ff79190612a16565b6011819055506009600a61100b91906129cc565b6305f5e10061101a9190612a16565b6012819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61106891906129cc565b6305f5e1006110779190612a16565b60405161108491906125e2565b60405180910390a1565b60065f9054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61112a6111e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ad906127ea565b60405180910390fd5b80601a83815481106111cb576111ca612c3e565b5b905f5260205f209060020201600101819055505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e90612cdb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bc90612d69565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161139f91906125e2565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141190612df7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147f90612e85565b60405180910390fd5b5f81116114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612f13565b60405180910390fd5b5f6114d3610ebf565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115415750611511610ebf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b605760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156115e4575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6115ec575f80fd5b611628606461161a600b54600e54116116075760075461160b565b6009545b8561226290919063ffffffff16565b6122d990919063ffffffff16565b905060065f9054906101000a900460ff16156117b05760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116e8575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117af574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061176c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176390612fc7565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611859575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118ac575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611966576011548211156118f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ed90613055565b60405180910390fd5b6012548261190385610ce1565b61190d9190613073565b111561194e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611945906130f0565b60405180910390fd5b600e5f8154809291906119609061310e565b91905055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119ee57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a3257611a2f6064611a21600c54600e5411611a0e57600854611a12565b600a545b8561226290919063ffffffff16565b6122d990919063ffffffff16565b90505b5f611a3c30610ce1565b9050601660159054906101000a900460ff16158015611aa7575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611abd575060168054906101000a900460ff165b8015611aca575060135481115b8015611ad95750600d54600e54115b15611b5e576019544311611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b19906130f0565b60405180910390fd5b611b3f611b3a84611b3584601454612322565b612322565b611e72565b5f4790505f811115611b5557611b54476120dd565b5b43601981905550505b505b5f811115611c5f57611bb88160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461233a90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c5691906125e2565b60405180910390a35b611caf8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461239790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d52611d06828461239790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461233a90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611df5848661239790919063ffffffff16565b604051611e0291906125e2565b60405180910390a350505050565b5f838311158290611e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4e91906124b1565b60405180910390fd5b505f8385611e659190613155565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ea957611ea8613188565b5b604051908082528060200260200182016040528015611ed75781602001602082028036833780820191505090505b50905030815f81518110611eee57611eed612c3e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb69190612a6b565b81600181518110611fca57611fc9612c3e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120303060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111e9565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161209295949392919061326c565b5f604051808303815f87803b1580156120a9575f80fd5b505af11580156120bb573d5f803e3d5ffd5b50505050505f601660156101000a81548160ff02191690831515021790555050565b5f8190505f5b601a805490508110156121cf575f6064601a838154811061210757612106612c3e565b5b905f5260205f20906002020160010154856121229190612a16565b61212c91906132f1565b9050808361213a9190613155565b9250601a82815481106121505761214f612c3e565b5b905f5260205f2090600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121c0573d5f803e3d5ffd5b505080806001019150506120e3565b505f81111561225e57601a5f815481106121ec576121eb612c3e565b5b905f5260205f2090600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561225c573d5f803e3d5ffd5b505b5050565b5f808303612272575f90506122d3565b5f828461227f9190612a16565b905082848261228e91906132f1565b146122ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c590613391565b60405180910390fd5b809150505b92915050565b5f61231a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123e0565b905092915050565b5f8183116123305782612332565b815b905092915050565b5f8082846123489190613073565b90508381101561238d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612384906133f9565b60405180910390fd5b8091505092915050565b5f6123d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e10565b905092915050565b5f8083118290612426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241d91906124b1565b60405180910390fd5b505f838561243491906132f1565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61248382612441565b61248d818561244b565b935061249d81856020860161245b565b6124a681612469565b840191505092915050565b5f6020820190508181035f8301526124c98184612479565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124fe826124d5565b9050919050565b61250e816124f4565b8114612518575f80fd5b50565b5f8135905061252981612505565b92915050565b5f819050919050565b6125418161252f565b811461254b575f80fd5b50565b5f8135905061255c81612538565b92915050565b5f8060408385031215612578576125776124d1565b5b5f6125858582860161251b565b92505060206125968582860161254e565b9150509250929050565b5f8115159050919050565b6125b4816125a0565b82525050565b5f6020820190506125cd5f8301846125ab565b92915050565b6125dc8161252f565b82525050565b5f6020820190506125f55f8301846125d3565b92915050565b5f805f60608486031215612612576126116124d1565b5b5f61261f8682870161251b565b93505060206126308682870161251b565b92505060406126418682870161254e565b9150509250925092565b5f60ff82169050919050565b6126608161264b565b82525050565b5f6020820190506126795f830184612657565b92915050565b5f60208284031215612694576126936124d1565b5b5f6126a18482850161254e565b91505092915050565b5f602082840312156126bf576126be6124d1565b5b5f6126cc8482850161251b565b91505092915050565b5f6040820190506126e85f8301856125d3565b6126f560208301846125d3565b9392505050565b612705816124f4565b82525050565b5f60208201905061271e5f8301846126fc565b92915050565b5f806040838503121561273a576127396124d1565b5b5f6127478582860161251b565b92505060206127588582860161251b565b9150509250929050565b5f8060408385031215612778576127776124d1565b5b5f6127858582860161254e565b92505060206127968582860161254e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127d460208361244b565b91506127df826127a0565b602082019050919050565b5f6020820190508181035f830152612801816127c8565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61283c60178361244b565b915061284782612808565b602082019050919050565b5f6020820190508181035f83015261286981612830565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156128f2578086048111156128ce576128cd612870565b5b60018516156128dd5780820291505b80810290506128eb8561289d565b94506128b2565b94509492505050565b5f8261290a57600190506129c5565b81612917575f90506129c5565b816001811461292d576002811461293757612966565b60019150506129c5565b60ff84111561294957612948612870565b5b8360020a9150848211156129605761295f612870565b5b506129c5565b5060208310610133831016604e8410600b841016171561299b5782820a90508381111561299657612995612870565b5b6129c5565b6129a884848460016128a9565b925090508184048111156129bf576129be612870565b5b81810290505b9392505050565b5f6129d68261252f565b91506129e18361264b565b9250612a0e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846128fb565b905092915050565b5f612a208261252f565b9150612a2b8361252f565b9250828202612a398161252f565b91508282048414831517612a5057612a4f612870565b5b5092915050565b5f81519050612a6581612505565b92915050565b5f60208284031215612a8057612a7f6124d1565b5b5f612a8d84828501612a57565b91505092915050565b5f604082019050612aa95f8301856126fc565b612ab660208301846126fc565b9392505050565b5f819050919050565b5f819050919050565b5f612ae9612ae4612adf84612abd565b612ac6565b61252f565b9050919050565b612af981612acf565b82525050565b5f60c082019050612b125f8301896126fc565b612b1f60208301886125d3565b612b2c6040830187612af0565b612b396060830186612af0565b612b4660808301856126fc565b612b5360a08301846125d3565b979650505050505050565b5f81519050612b6c81612538565b92915050565b5f805f60608486031215612b8957612b886124d1565b5b5f612b9686828701612b5e565b9350506020612ba786828701612b5e565b9250506040612bb886828701612b5e565b9150509250925092565b5f604082019050612bd55f8301856126fc565b612be260208301846125d3565b9392505050565b612bf2816125a0565b8114612bfc575f80fd5b50565b5f81519050612c0d81612be9565b92915050565b5f60208284031215612c2857612c276124d1565b5b5f612c3584828501612bff565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612cc560248361244b565b9150612cd082612c6b565b604082019050919050565b5f6020820190508181035f830152612cf281612cb9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d5360228361244b565b9150612d5e82612cf9565b604082019050919050565b5f6020820190508181035f830152612d8081612d47565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612de160258361244b565b9150612dec82612d87565b604082019050919050565b5f6020820190508181035f830152612e0e81612dd5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e6f60238361244b565b9150612e7a82612e15565b604082019050919050565b5f6020820190508181035f830152612e9c81612e63565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612efd60298361244b565b9150612f0882612ea3565b604082019050919050565b5f6020820190508181035f830152612f2a81612ef1565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612fb160498361244b565b9150612fbc82612f31565b606082019050919050565b5f6020820190508181035f830152612fde81612fa5565b9050919050565b7f4578636565647320746865205f6d61785472616e73616374696f6e4c696d69745f8201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f61303f60218361244b565b915061304a82612fe5565b604082019050919050565b5f6020820190508181035f83015261306c81613033565b9050919050565b5f61307d8261252f565b91506130888361252f565b92508282019050808211156130a05761309f612870565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6130da601a8361244b565b91506130e5826130a6565b602082019050919050565b5f6020820190508181035f830152613107816130ce565b9050919050565b5f6131188261252f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361314a57613149612870565b5b600182019050919050565b5f61315f8261252f565b915061316a8361252f565b925082820390508181111561318257613181612870565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6131e7816124f4565b82525050565b5f6131f883836131de565b60208301905092915050565b5f602082019050919050565b5f61321a826131b5565b61322481856131bf565b935061322f836131cf565b805f5b8381101561325f57815161324688826131ed565b975061325183613204565b925050600181019050613232565b5085935050505092915050565b5f60a08201905061327f5f8301886125d3565b61328c6020830187612af0565b818103604083015261329e8186613210565b90506132ad60608301856126fc565b6132ba60808301846125d3565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6132fb8261252f565b91506133068361252f565b925082613316576133156132c4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61337b60218361244b565b915061338682613321565b604082019050919050565b5f6020820190508181035f8301526133a88161336f565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6133e3601b8361244b565b91506133ee826133af565b602082019050919050565b5f6020820190508181035f830152613410816133d7565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200267850dd38e7f7c829c07b5895a6de90e7cce6b903f2772efbfb0c6e5eb17c864736f6c6343000819003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000cb55499041c7e7b938af7b8612fdd4e0c0614550000000000000000000000000000000000000000000000000000000000000004600000000000000000000000034a3955fc29802c60e4860733347f5e69879d10d000000000000000000000000000000000000000000000000000000000000001e
Deployed Bytecode
0x60806040526004361061014e575f3560e01c806370a08231116100b5578063a9059cbb1161006e578063a9059cbb14610446578063bafeb47914610482578063c63dfc31146104ac578063c876d0b9146104c2578063dd62ed3e146104ec578063e68fa5181461052857610155565b806370a082311461034b578063715018a614610387578063722b62ad1461039d578063807e3ee9146103c75780638da5cb5b146103f257806395d89b411461041c57610155565b80632ded0b04116101075780632ded0b0414610265578063313ce5671461028f5780633abee352146102b957806351bc3c85146102e357806361f6d19d146102f95780636bb1231e1461032357610155565b806306fdde0314610159578063095ea7b3146101835780630bd05b69146101bf57806313314431146101d557806318160ddd146101ff57806323b872dd1461022957610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610550565b60405161017a91906124b1565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a49190612562565b61058d565b6040516101b691906125ba565b60405180910390f35b3480156101ca575f80fd5b506101d36105aa565b005b3480156101e0575f80fd5b506101e9610acb565b6040516101f691906125e2565b60405180910390f35b34801561020a575f80fd5b50610213610ad1565b60405161022091906125e2565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a91906125fb565b610af4565b60405161025c91906125ba565b60405180910390f35b348015610270575f80fd5b50610279610bc8565b60405161028691906125ba565b60405180910390f35b34801561029a575f80fd5b506102a3610bde565b6040516102b09190612666565b60405180910390f35b3480156102c4575f80fd5b506102cd610be6565b6040516102da91906125e2565b60405180910390f35b3480156102ee575f80fd5b506102f7610bec565b005b348015610304575f80fd5b5061030d610c69565b60405161031a91906125e2565b60405180910390f35b34801561032e575f80fd5b506103496004803603810190610344919061267f565b610c6f565b005b348015610356575f80fd5b50610371600480360381019061036c91906126aa565b610ce1565b60405161037e91906125e2565b60405180910390f35b348015610392575f80fd5b5061039b610d27565b005b3480156103a8575f80fd5b506103b1610e75565b6040516103be9190612666565b60405180910390f35b3480156103d2575f80fd5b506103db610e87565b6040516103e99291906126d5565b60405180910390f35b3480156103fd575f80fd5b50610406610ebf565b604051610413919061270b565b60405180910390f35b348015610427575f80fd5b50610430610ee6565b60405161043d91906124b1565b60405180910390f35b348015610451575f80fd5b5061046c60048036038101906104679190612562565b610f23565b60405161047991906125ba565b60405180910390f35b34801561048d575f80fd5b50610496610f40565b6040516104a391906125e2565b60405180910390f35b3480156104b7575f80fd5b506104c0610f46565b005b3480156104cd575f80fd5b506104d661108e565b6040516104e391906125ba565b60405180910390f35b3480156104f7575f80fd5b50610512600480360381019061050d9190612724565b6110a0565b60405161051f91906125e2565b60405180910390f35b348015610533575f80fd5b5061054e60048036038101906105499190612762565b611122565b005b60606040518060400160405280600981526020017f4f6374616e655061790000000000000000000000000000000000000000000000815250905090565b5f6105a06105996111e2565b84846111e9565b6001905092915050565b6105b26111e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461063e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610635906127ea565b60405180910390fd5b601660149054906101000a900460ff161561068e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068590612852565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061072a3060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61071691906129cc565b6305f5e1006107259190612a16565b6111e9565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610794573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b89190612a6b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108629190612a6b565b6040518363ffffffff1660e01b815260040161087f929190612a96565b6020604051808303815f875af115801561089b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108bf9190612a6b565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061094630610ce1565b5f80610950610ebf565b426040518863ffffffff1660e01b815260040161097296959493929190612aff565b60606040518083038185885af115801561098e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109b39190612b72565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a53929190612bc2565b6020604051808303815f875af1158015610a6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a939190612c13565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b60125481565b5f6009600a610ae091906129cc565b6305f5e100610aef9190612a16565b905090565b5f610b008484846113ac565b610bbd84610b0c6111e2565b610bb8856040518060600160405280602881526020016134186028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610b6f6111e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e109092919063ffffffff16565b6111e9565b600190509392505050565b5f601660149054906101000a900460ff16905090565b5f6009905090565b60145481565b610bf4610ebf565b73ffffffffffffffffffffffffffffffffffffffff16610c126111e2565b73ffffffffffffffffffffffffffffffffffffffff1614610c31575f80fd5b5f610c3b30610ce1565b90505f811115610c4f57610c4e81611e72565b5b5f4790505f811115610c6557610c64816120dd565b5b5050565b60115481565b610c77610ebf565b73ffffffffffffffffffffffffffffffffffffffff16610c956111e2565b73ffffffffffffffffffffffffffffffffffffffff1614610cb4575f80fd5b6009548111158015610cc85750600a548111155b610cd0575f80fd5b8060098190555080600a8190555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d2f6111e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db2906127ea565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60185f9054906101000a900460ff1681565b5f80600b54600e5411610e9c57600754610ea0565b6009545b9150600c54600e5411610eb557600854610eb9565b600a545b90509091565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4f43540000000000000000000000000000000000000000000000000000000000815250905090565b5f610f36610f2f6111e2565b84846113ac565b6001905092915050565b60135481565b610f4e6111e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd1906127ea565b60405180910390fd5b6009600a610fe891906129cc565b6305f5e100610ff79190612a16565b6011819055506009600a61100b91906129cc565b6305f5e10061101a9190612a16565b6012819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61106891906129cc565b6305f5e1006110779190612a16565b60405161108491906125e2565b60405180910390a1565b60065f9054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61112a6111e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ad906127ea565b60405180910390fd5b80601a83815481106111cb576111ca612c3e565b5b905f5260205f209060020201600101819055505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e90612cdb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bc90612d69565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161139f91906125e2565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141190612df7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147f90612e85565b60405180910390fd5b5f81116114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612f13565b60405180910390fd5b5f6114d3610ebf565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115415750611511610ebf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b605760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156115e4575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6115ec575f80fd5b611628606461161a600b54600e54116116075760075461160b565b6009545b8561226290919063ffffffff16565b6122d990919063ffffffff16565b905060065f9054906101000a900460ff16156117b05760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116e8575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117af574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061176c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176390612fc7565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611859575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118ac575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611966576011548211156118f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ed90613055565b60405180910390fd5b6012548261190385610ce1565b61190d9190613073565b111561194e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611945906130f0565b60405180910390fd5b600e5f8154809291906119609061310e565b91905055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119ee57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a3257611a2f6064611a21600c54600e5411611a0e57600854611a12565b600a545b8561226290919063ffffffff16565b6122d990919063ffffffff16565b90505b5f611a3c30610ce1565b9050601660159054906101000a900460ff16158015611aa7575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611abd575060168054906101000a900460ff165b8015611aca575060135481115b8015611ad95750600d54600e54115b15611b5e576019544311611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b19906130f0565b60405180910390fd5b611b3f611b3a84611b3584601454612322565b612322565b611e72565b5f4790505f811115611b5557611b54476120dd565b5b43601981905550505b505b5f811115611c5f57611bb88160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461233a90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c5691906125e2565b60405180910390a35b611caf8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461239790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d52611d06828461239790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461233a90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611df5848661239790919063ffffffff16565b604051611e0291906125e2565b60405180910390a350505050565b5f838311158290611e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4e91906124b1565b60405180910390fd5b505f8385611e659190613155565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ea957611ea8613188565b5b604051908082528060200260200182016040528015611ed75781602001602082028036833780820191505090505b50905030815f81518110611eee57611eed612c3e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb69190612a6b565b81600181518110611fca57611fc9612c3e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120303060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111e9565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161209295949392919061326c565b5f604051808303815f87803b1580156120a9575f80fd5b505af11580156120bb573d5f803e3d5ffd5b50505050505f601660156101000a81548160ff02191690831515021790555050565b5f8190505f5b601a805490508110156121cf575f6064601a838154811061210757612106612c3e565b5b905f5260205f20906002020160010154856121229190612a16565b61212c91906132f1565b9050808361213a9190613155565b9250601a82815481106121505761214f612c3e565b5b905f5260205f2090600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121c0573d5f803e3d5ffd5b505080806001019150506120e3565b505f81111561225e57601a5f815481106121ec576121eb612c3e565b5b905f5260205f2090600202015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561225c573d5f803e3d5ffd5b505b5050565b5f808303612272575f90506122d3565b5f828461227f9190612a16565b905082848261228e91906132f1565b146122ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c590613391565b60405180910390fd5b809150505b92915050565b5f61231a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123e0565b905092915050565b5f8183116123305782612332565b815b905092915050565b5f8082846123489190613073565b90508381101561238d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612384906133f9565b60405180910390fd5b8091505092915050565b5f6123d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e10565b905092915050565b5f8083118290612426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241d91906124b1565b60405180910390fd5b505f838561243491906132f1565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61248382612441565b61248d818561244b565b935061249d81856020860161245b565b6124a681612469565b840191505092915050565b5f6020820190508181035f8301526124c98184612479565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124fe826124d5565b9050919050565b61250e816124f4565b8114612518575f80fd5b50565b5f8135905061252981612505565b92915050565b5f819050919050565b6125418161252f565b811461254b575f80fd5b50565b5f8135905061255c81612538565b92915050565b5f8060408385031215612578576125776124d1565b5b5f6125858582860161251b565b92505060206125968582860161254e565b9150509250929050565b5f8115159050919050565b6125b4816125a0565b82525050565b5f6020820190506125cd5f8301846125ab565b92915050565b6125dc8161252f565b82525050565b5f6020820190506125f55f8301846125d3565b92915050565b5f805f60608486031215612612576126116124d1565b5b5f61261f8682870161251b565b93505060206126308682870161251b565b92505060406126418682870161254e565b9150509250925092565b5f60ff82169050919050565b6126608161264b565b82525050565b5f6020820190506126795f830184612657565b92915050565b5f60208284031215612694576126936124d1565b5b5f6126a18482850161254e565b91505092915050565b5f602082840312156126bf576126be6124d1565b5b5f6126cc8482850161251b565b91505092915050565b5f6040820190506126e85f8301856125d3565b6126f560208301846125d3565b9392505050565b612705816124f4565b82525050565b5f60208201905061271e5f8301846126fc565b92915050565b5f806040838503121561273a576127396124d1565b5b5f6127478582860161251b565b92505060206127588582860161251b565b9150509250929050565b5f8060408385031215612778576127776124d1565b5b5f6127858582860161254e565b92505060206127968582860161254e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127d460208361244b565b91506127df826127a0565b602082019050919050565b5f6020820190508181035f830152612801816127c8565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61283c60178361244b565b915061284782612808565b602082019050919050565b5f6020820190508181035f83015261286981612830565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156128f2578086048111156128ce576128cd612870565b5b60018516156128dd5780820291505b80810290506128eb8561289d565b94506128b2565b94509492505050565b5f8261290a57600190506129c5565b81612917575f90506129c5565b816001811461292d576002811461293757612966565b60019150506129c5565b60ff84111561294957612948612870565b5b8360020a9150848211156129605761295f612870565b5b506129c5565b5060208310610133831016604e8410600b841016171561299b5782820a90508381111561299657612995612870565b5b6129c5565b6129a884848460016128a9565b925090508184048111156129bf576129be612870565b5b81810290505b9392505050565b5f6129d68261252f565b91506129e18361264b565b9250612a0e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846128fb565b905092915050565b5f612a208261252f565b9150612a2b8361252f565b9250828202612a398161252f565b91508282048414831517612a5057612a4f612870565b5b5092915050565b5f81519050612a6581612505565b92915050565b5f60208284031215612a8057612a7f6124d1565b5b5f612a8d84828501612a57565b91505092915050565b5f604082019050612aa95f8301856126fc565b612ab660208301846126fc565b9392505050565b5f819050919050565b5f819050919050565b5f612ae9612ae4612adf84612abd565b612ac6565b61252f565b9050919050565b612af981612acf565b82525050565b5f60c082019050612b125f8301896126fc565b612b1f60208301886125d3565b612b2c6040830187612af0565b612b396060830186612af0565b612b4660808301856126fc565b612b5360a08301846125d3565b979650505050505050565b5f81519050612b6c81612538565b92915050565b5f805f60608486031215612b8957612b886124d1565b5b5f612b9686828701612b5e565b9350506020612ba786828701612b5e565b9250506040612bb886828701612b5e565b9150509250925092565b5f604082019050612bd55f8301856126fc565b612be260208301846125d3565b9392505050565b612bf2816125a0565b8114612bfc575f80fd5b50565b5f81519050612c0d81612be9565b92915050565b5f60208284031215612c2857612c276124d1565b5b5f612c3584828501612bff565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612cc560248361244b565b9150612cd082612c6b565b604082019050919050565b5f6020820190508181035f830152612cf281612cb9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d5360228361244b565b9150612d5e82612cf9565b604082019050919050565b5f6020820190508181035f830152612d8081612d47565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612de160258361244b565b9150612dec82612d87565b604082019050919050565b5f6020820190508181035f830152612e0e81612dd5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e6f60238361244b565b9150612e7a82612e15565b604082019050919050565b5f6020820190508181035f830152612e9c81612e63565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612efd60298361244b565b9150612f0882612ea3565b604082019050919050565b5f6020820190508181035f830152612f2a81612ef1565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612fb160498361244b565b9150612fbc82612f31565b606082019050919050565b5f6020820190508181035f830152612fde81612fa5565b9050919050565b7f4578636565647320746865205f6d61785472616e73616374696f6e4c696d69745f8201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f61303f60218361244b565b915061304a82612fe5565b604082019050919050565b5f6020820190508181035f83015261306c81613033565b9050919050565b5f61307d8261252f565b91506130888361252f565b92508282019050808211156130a05761309f612870565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6130da601a8361244b565b91506130e5826130a6565b602082019050919050565b5f6020820190508181035f830152613107816130ce565b9050919050565b5f6131188261252f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361314a57613149612870565b5b600182019050919050565b5f61315f8261252f565b915061316a8361252f565b925082820390508181111561318257613181612870565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6131e7816124f4565b82525050565b5f6131f883836131de565b60208301905092915050565b5f602082019050919050565b5f61321a826131b5565b61322481856131bf565b935061322f836131cf565b805f5b8381101561325f57815161324688826131ed565b975061325183613204565b925050600181019050613232565b5085935050505092915050565b5f60a08201905061327f5f8301886125d3565b61328c6020830187612af0565b818103604083015261329e8186613210565b90506132ad60608301856126fc565b6132ba60808301846125d3565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6132fb8261252f565b91506133068361252f565b925082613316576133156132c4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61337b60218361244b565b915061338682613321565b604082019050919050565b5f6020820190508181035f8301526133a88161336f565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6133e3601b8361244b565b91506133ee826133af565b602082019050919050565b5f6020820190508181035f830152613410816133d7565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200267850dd38e7f7c829c07b5895a6de90e7cce6b903f2772efbfb0c6e5eb17c864736f6c63430008190033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000cb55499041c7e7b938af7b8612fdd4e0c0614550000000000000000000000000000000000000000000000000000000000000004600000000000000000000000034a3955fc29802c60e4860733347f5e69879d10d000000000000000000000000000000000000000000000000000000000000001e
-----Decoded View---------------
Arg [0] : taxSystem (tuple[]):
Arg [1] : taxWallet (address): 0xCB55499041C7e7B938aF7b8612fdd4e0c0614550
Arg [2] : taxPercentageValue (uint256): 70
Arg [1] : taxWallet (address): 0x34a3955fc29802c60e4860733347F5e69879d10D
Arg [2] : taxPercentageValue (uint256): 30
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [2] : 000000000000000000000000cb55499041c7e7b938af7b8612fdd4e0c0614550
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000046
Arg [4] : 00000000000000000000000034a3955fc29802c60e4860733347f5e69879d10d
Arg [5] : 000000000000000000000000000000000000000000000000000000000000001e
Deployed Bytecode Sourcemap
4192:11929:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6926:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7839:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14036:872;;;;;;;;;;;;;:::i;:::-;;5349:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7206:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8041:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15367:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7114:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5487:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15755:363;;;;;;;;;;;;;:::i;:::-;;5281:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15467:241;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7310:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3138:148;;;;;;;;;;;;;:::i;:::-;;5800:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15098:260;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2922:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7018:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7438:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5419:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12816:222;;;;;;;;;;;;;:::i;:::-;;4581:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7646:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14917:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6926:83;6963:13;6996:5;;;;;;;;;;;;;;;;;6989:12;;6926:83;:::o;7839:193::-;7941:4;7963:39;7972:12;:10;:12::i;:::-;7986:7;7995:6;7963:8;:39::i;:::-;8020:4;8013:11;;7839:193;;;;:::o;14036:872::-;3060:12;:10;:12::i;:::-;3050:22;;:6;;;;;;;;;;:22;;;3042:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14102:11:::1;;;;;;;;;;;14101:12;14093:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14203:42;14152:15;;:104;;;;;;;;;;;;;;;;;;14267:58;14284:4;14299:15;;;;;;;;;;;5096:1;5151:2;:13;;;;:::i;:::-;5139:9;:25;;;;:::i;:::-;14267:8;:58::i;:::-;14370:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14352:55;;;14430:4;14450:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14352:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14336:13;;:147;;;;;;;;;;;;;;;;;;14497:15;;;;;;;;;;;:31;;;14536:21;14581:4;14601:24;14619:4;14601:9;:24::i;:::-;14640:1;14656::::0;14672:7:::1;:5;:7::i;:::-;14694:15;14497:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14738:13;;;;;;;;;;;14731:29;;;14783:15;;;;;;;;;;;14814:17;14731:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14867:4;14853:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;14896:4;14882:11;;:18;;;;;;;;;;;;;;;;;;14036:872::o:0;5349:63::-;;;;:::o;7206:95::-;7259:7;5096:1;5151:2;:13;;;;:::i;:::-;5139:9;:25;;;;:::i;:::-;7279:14;;7206:95;:::o;8041:446::-;8173:4;8190:36;8200:6;8208:9;8219:6;8190:9;:36::i;:::-;8237:220;8260:6;8281:12;:10;:12::i;:::-;8308:138;8364:6;8308:138;;;;;;;;;;;;;;;;;:11;:19;8320:6;8308:19;;;;;;;;;;;;;;;:33;8328:12;:10;:12::i;:::-;8308:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8237:8;:220::i;:::-;8475:4;8468:11;;8041:446;;;;;:::o;15367:91::-;15415:4;15439:11;;;;;;;;;;;15432:18;;15367:91;:::o;7114:83::-;7155:5;5096:1;7173:16;;7114:83;:::o;5487:55::-;;;;:::o;15755:363::-;15821:7;:5;:7::i;:::-;15805:23;;:12;:10;:12::i;:::-;:23;;;15797:32;;;;;;15840:20;15863:24;15881:4;15863:9;:24::i;:::-;15840:47;;15917:1;15902:12;:16;15898:79;;;15935:30;15952:12;15935:16;:30::i;:::-;15898:79;15987:18;16008:21;15987:42;;16057:1;16044:10;:14;16040:71;;;16075:24;16088:10;16075:12;:24::i;:::-;16040:71;15786:332;;15755:363::o;5281:61::-;;;;:::o;15467:241::-;15550:7;:5;:7::i;:::-;15534:23;;:12;:10;:12::i;:::-;:23;;;15526:32;;;;;;15588:13;;15577:7;:24;;:53;;;;;15616:14;;15605:7;:25;;15577:53;15569:62;;;;;;15658:7;15642:13;:23;;;;15693:7;15676:14;:24;;;;15467:241;:::o;7310:119::-;7376:7;7403:9;:18;7413:7;7403:18;;;;;;;;;;;;;;;;7396:25;;7310:119;;;:::o;3138:148::-;3060:12;:10;:12::i;:::-;3050:22;;:6;;;;;;;;;;:22;;;3042:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3245:1:::1;3208:40;;3229:6;::::0;::::1;;;;;;;;3208:40;;;;;;;;;;;;3276:1;3259:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3138:148::o:0;5800:38::-;;;;;;;;;;;;;:::o;15098:260::-;15151:14;15167:15;15218:14;;15205:10;;:27;15204:61;;15252:13;;15204:61;;;15236:13;;15204:61;15195:70;;15300:15;;15287:10;;:28;15286:64;;15336:14;;15286:64;;;15319:14;;15286:64;15276:74;;15098:260;;:::o;2922:79::-;2960:7;2987:6;;;;;;;;;;;2980:13;;2922:79;:::o;7018:87::-;7057:13;7090:7;;;;;;;;;;;;;;;;;7083:14;;7018:87;:::o;7438:199::-;7543:4;7565:42;7575:12;:10;:12::i;:::-;7589:9;7600:6;7565:9;:42::i;:::-;7625:4;7618:11;;7438:199;;;;:::o;5419:61::-;;;;:::o;12816:222::-;3060:12;:10;:12::i;:::-;3050:22;;:6;;;;;;;;;;:22;;;3042:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5096:1:::1;5151:2;:13;;;;:::i;:::-;5139:9;:25;;;;:::i;:::-;12875:20;:30;;;;5096:1;5151:2;:13;;;;:::i;:::-;5139:9;:25;;;;:::i;:::-;12916:22;:32;;;;12982:5;12959:20;;:28;;;;;;;;;;;;;;;;;;13003:27;5096:1;5151:2;:13;;;;:::i;:::-;5139:9;:25;;;;:::i;:::-;13003:27;;;;;;:::i;:::-;;;;;;;;12816:222::o:0;4581:39::-;;;;;;;;;;;;;:::o;7646:184::-;7763:7;7795:11;:18;7807:5;7795:18;;;;;;;;;;;;;;;:27;7814:7;7795:27;;;;;;;;;;;;;;;;7788:34;;7646:184;;;;:::o;14917:172::-;3060:12;:10;:12::i;:::-;3050:22;;:6;;;;;;;;;;:22;;;3042:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15075:6:::1;15036:10;15047:5;15036:17;;;;;;;;:::i;:::-;;;;;;;;;;;;:36;;:45;;;;14917:172:::0;;:::o;446:98::-;499:7;526:10;519:17;;446:98;:::o;8496:369::-;8640:1;8623:19;;:5;:19;;;8615:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8721:1;8702:21;;:7;:21;;;8694:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8803:6;8773:11;:18;8785:5;8773:18;;;;;;;;;;;;;;;:27;8792:7;8773:27;;;;;;;;;;;;;;;:36;;;;8841:7;8825:32;;8834:5;8825:32;;;8850:6;8825:32;;;;;;:::i;:::-;;;;;;;;8496:369;;;:::o;8874:3325::-;9012:1;8996:18;;:4;:18;;;8988:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9089:1;9075:16;;:2;:16;;;9067:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9159:1;9150:6;:10;9142:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9217:17;9261:7;:5;:7::i;:::-;9253:15;;:4;:15;;;;:32;;;;;9278:7;:5;:7::i;:::-;9272:13;;:2;:13;;;;9253:32;9249:2578;;;9311:4;:10;9316:4;9311:10;;;;;;;;;;;;;;;;;;;;;;;;;9310:11;:24;;;;;9326:4;:8;9331:2;9326:8;;;;;;;;;;;;;;;;;;;;;;;;;9325:9;9310:24;9302:33;;;;;;9362:208;9566:3;9362:181;9427:14;;9414:10;;:27;9413:111;;9511:13;;9413:111;;;9470:13;;9413:111;9362:6;:28;;:181;;;;:::i;:::-;:203;;:208;;;;:::i;:::-;9350:220;;9592:20;;;;;;;;;;;9588:522;;;9673:15;;;;;;;;;;;9659:30;;:2;:30;;;;:83;;;;;9728:13;;;;;;;;;;;9714:28;;:2;:28;;;;9659:83;9633:462;;;9861:12;9819:28;:39;9848:9;9819:39;;;;;;;;;;;;;;;;:54;9785:213;;;;;;;;;;;;:::i;:::-;;;;;;;;;10063:12;10021:28;:39;10050:9;10021:39;;;;;;;;;;;;;;;:54;;;;9633:462;9588:522;10157:13;;;;;;;;;;;10149:21;;:4;:21;;;:72;;;;;10205:15;;;;;;;;;;;10191:30;;:2;:30;;;;10149:72;:116;;;;;10243:18;:22;10262:2;10243:22;;;;;;;;;;;;;;;;;;;;;;;;;10242:23;10149:116;10127:463;;;10318:20;;10308:6;:30;;10300:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;10451:22;;10441:6;10425:13;10435:2;10425:9;:13::i;:::-;:22;;;;:::i;:::-;:48;;10395:148;;;;;;;;;;;;:::i;:::-;;;;;;;;;10562:10;;:12;;;;;;;;;:::i;:::-;;;;;;10127:463;10617:13;;;;;;;;;;;10611:19;;:2;:19;;;:44;;;;;10650:4;10634:21;;:4;:21;;;;10611:44;10607:332;;;10688:235;10919:3;10688:204;10761:15;;10748:10;;:28;10747:122;;10855:14;;10747:122;;;10809:14;;10747:122;10688:6;:32;;:204;;;;:::i;:::-;:230;;:235;;;;:::i;:::-;10676:247;;10607:332;10956:28;10987:24;11005:4;10987:9;:24::i;:::-;10956:55;;11049:6;;;;;;;;;;;11048:7;:47;;;;;11082:13;;;;;;;;;;;11076:19;;:2;:19;;;11048:47;:79;;;;;11116:11;;;;;;;;;;11048:79;:144;;;;;11171:21;;11148:20;:44;11048:144;:198;;;;;11226:20;;11213:10;;:33;11048:198;11026:790;;;11326:23;;11311:12;:38;11281:138;;;;;;;;;;;;:::i;:::-;;;;;;;;;11438:112;11477:54;11481:6;11489:41;11493:20;11515:14;;11489:3;:41::i;:::-;11477:3;:54::i;:::-;11438:16;:112::i;:::-;11569:26;11598:21;11569:50;;11663:1;11642:18;:22;11638:106;;;11689:35;11702:21;11689:12;:35::i;:::-;11638:106;11788:12;11762:23;:38;;;;11262:554;11026:790;9287:2540;9249:2578;11856:1;11844:9;:13;11840:172;;;11901:39;11930:9;11901;:24;11919:4;11901:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11874:9;:24;11892:4;11874:24;;;;;;;;;;;;;;;:66;;;;11983:4;11960:40;;11969:4;11960:40;;;11990:9;11960:40;;;;;;:::i;:::-;;;;;;;;11840:172;12040:27;12060:6;12040:9;:15;12050:4;12040:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;12022:9;:15;12032:4;12022:15;;;;;;;;;;;;;;;:45;;;;12094:40;12112:21;12123:9;12112:6;:10;;:21;;;;:::i;:::-;12094:9;:13;12104:2;12094:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;12078:9;:13;12088:2;12078:13;;;;;;;;;;;;;;;:56;;;;12165:2;12150:41;;12159:4;12150:41;;;12169:21;12180:9;12169:6;:10;;:21;;;;:::i;:::-;12150:41;;;;;;:::i;:::-;;;;;;;;8977:3222;8874:3325;;;:::o;1718:224::-;1838:7;1871:1;1866;:6;;1874:12;1858:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1898:9;1914:1;1910;:5;;;;:::i;:::-;1898:17;;1933:1;1926:8;;;1718:224;;;;;:::o;12324:483::-;5995:4;5986:6;;:13;;;;;;;;;;;;;;;;;;12402:21:::1;12440:1;12426:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12402:40;;12471:4;12453;12458:1;12453:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12497:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12487:4;12492:1;12487:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12530:62;12547:4;12562:15;;;;;;;;;;;12580:11;12530:8;:62::i;:::-;12603:15;;;;;;;;;;;:66;;;12684:11;12710:1;12726:4;12753;12773:15;12603:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12391:416;6031:5:::0;6022:6;;:14;;;;;;;;;;;;;;;;;;12324:483;:::o;13155:872::-;13249:18;13270:6;13249:27;;13388:9;13383:266;13407:10;:17;;;;13403:1;:21;13383:266;;;13446:17;13529:3;13476:10;13487:1;13476:13;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;13467:6;:41;;;;:::i;:::-;13466:66;;;;:::i;:::-;13446:86;;13561:9;13547:23;;;;;:::i;:::-;;;13593:10;13604:1;13593:13;;;;;;;;:::i;:::-;;;;;;;;;;;;:23;;;;;;;;;;;;13585:41;;:52;13627:9;13585:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13431:218;13426:3;;;;;;;13383:266;;;;13844:1;13831:10;:14;13827:193;;;13963:10;13974:1;13963:13;;;;;;;;:::i;:::-;;;;;;;;;;;;:23;;;;;;;;;;;;13955:41;;:53;13997:10;13955:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13827:193;13201:826;13155:872;:::o;1951:246::-;2009:7;2038:1;2033;:6;2029:47;;2063:1;2056:8;;;;2029:47;2086:9;2102:1;2098;:5;;;;:::i;:::-;2086:17;;2131:1;2126;2122;:5;;;;:::i;:::-;:10;2114:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2188:1;2181:8;;;1951:246;;;;;:::o;2206:132::-;2264:7;2291:39;2295:1;2298;2291:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2284:46;;2206:132;;;;:::o;12208:107::-;12265:7;12297:1;12293;:5;12292:15;;12306:1;12292:15;;;12302:1;12292:15;12285:22;;12208:107;;;;:::o;1385:179::-;1443:7;1463:9;1479:1;1475;:5;;;;:::i;:::-;1463:17;;1504:1;1499;:6;;1491:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1555:1;1548:8;;;1385:179;;;;:::o;1573:136::-;1631:7;1658:43;1662:1;1665;1658:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1651:50;;1573:136;;;;:::o;2347:223::-;2467:7;2499:1;2495;:5;2502:12;2487:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2526:9;2542:1;2538;:5;;;;:::i;:::-;2526:17;;2561:1;2554:8;;;2347:223;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:::-;5140:6;5189:2;5177:9;5168:7;5164:23;5160:32;5157:119;;;5195:79;;:::i;:::-;5157:119;5315:1;5340:53;5385:7;5376:6;5365:9;5361:22;5340:53;:::i;:::-;5330:63;;5286:117;5081:329;;;;:::o;5416:332::-;5537:4;5575:2;5564:9;5560:18;5552:26;;5588:71;5656:1;5645:9;5641:17;5632:6;5588:71;:::i;:::-;5669:72;5737:2;5726:9;5722:18;5713:6;5669:72;:::i;:::-;5416:332;;;;;:::o;5754:118::-;5841:24;5859:5;5841:24;:::i;:::-;5836:3;5829:37;5754:118;;:::o;5878:222::-;5971:4;6009:2;5998:9;5994:18;5986:26;;6022:71;6090:1;6079:9;6075:17;6066:6;6022:71;:::i;:::-;5878:222;;;;:::o;6106:474::-;6174:6;6182;6231:2;6219:9;6210:7;6206:23;6202:32;6199:119;;;6237:79;;:::i;:::-;6199:119;6357:1;6382:53;6427:7;6418:6;6407:9;6403:22;6382:53;:::i;:::-;6372:63;;6328:117;6484:2;6510:53;6555:7;6546:6;6535:9;6531:22;6510:53;:::i;:::-;6500:63;;6455:118;6106:474;;;;;:::o;6586:::-;6654:6;6662;6711:2;6699:9;6690:7;6686:23;6682:32;6679:119;;;6717:79;;:::i;:::-;6679:119;6837:1;6862:53;6907:7;6898:6;6887:9;6883:22;6862:53;:::i;:::-;6852:63;;6808:117;6964:2;6990:53;7035:7;7026:6;7015:9;7011:22;6990:53;:::i;:::-;6980:63;;6935:118;6586:474;;;;;:::o;7066:182::-;7206:34;7202:1;7194:6;7190:14;7183:58;7066:182;:::o;7254:366::-;7396:3;7417:67;7481:2;7476:3;7417:67;:::i;:::-;7410:74;;7493:93;7582:3;7493:93;:::i;:::-;7611:2;7606:3;7602:12;7595:19;;7254:366;;;:::o;7626:419::-;7792:4;7830:2;7819:9;7815:18;7807:26;;7879:9;7873:4;7869:20;7865:1;7854:9;7850:17;7843:47;7907:131;8033:4;7907:131;:::i;:::-;7899:139;;7626:419;;;:::o;8051:173::-;8191:25;8187:1;8179:6;8175:14;8168:49;8051:173;:::o;8230:366::-;8372:3;8393:67;8457:2;8452:3;8393:67;:::i;:::-;8386:74;;8469:93;8558:3;8469:93;:::i;:::-;8587:2;8582:3;8578:12;8571:19;;8230:366;;;:::o;8602:419::-;8768:4;8806:2;8795:9;8791:18;8783:26;;8855:9;8849:4;8845:20;8841:1;8830:9;8826:17;8819:47;8883:131;9009:4;8883:131;:::i;:::-;8875:139;;8602:419;;;:::o;9027:180::-;9075:77;9072:1;9065:88;9172:4;9169:1;9162:15;9196:4;9193:1;9186:15;9213:102;9255:8;9302:5;9299:1;9295:13;9274:34;;9213:102;;;:::o;9321:848::-;9382:5;9389:4;9413:6;9404:15;;9437:5;9428:14;;9451:712;9472:1;9462:8;9459:15;9451:712;;;9567:4;9562:3;9558:14;9552:4;9549:24;9546:50;;;9576:18;;:::i;:::-;9546:50;9626:1;9616:8;9612:16;9609:451;;;10041:4;10034:5;10030:16;10021:25;;9609:451;10091:4;10085;10081:15;10073:23;;10121:32;10144:8;10121:32;:::i;:::-;10109:44;;9451:712;;;9321:848;;;;;;;:::o;10175:1073::-;10229:5;10420:8;10410:40;;10441:1;10432:10;;10443:5;;10410:40;10469:4;10459:36;;10486:1;10477:10;;10488:5;;10459:36;10555:4;10603:1;10598:27;;;;10639:1;10634:191;;;;10548:277;;10598:27;10616:1;10607:10;;10618:5;;;10634:191;10679:3;10669:8;10666:17;10663:43;;;10686:18;;:::i;:::-;10663:43;10735:8;10732:1;10728:16;10719:25;;10770:3;10763:5;10760:14;10757:40;;;10777:18;;:::i;:::-;10757:40;10810:5;;;10548:277;;10934:2;10924:8;10921:16;10915:3;10909:4;10906:13;10902:36;10884:2;10874:8;10871:16;10866:2;10860:4;10857:12;10853:35;10837:111;10834:246;;;10990:8;10984:4;10980:19;10971:28;;11025:3;11018:5;11015:14;11012:40;;;11032:18;;:::i;:::-;11012:40;11065:5;;10834:246;11105:42;11143:3;11133:8;11127:4;11124:1;11105:42;:::i;:::-;11090:57;;;;11179:4;11174:3;11170:14;11163:5;11160:25;11157:51;;;11188:18;;:::i;:::-;11157:51;11237:4;11230:5;11226:16;11217:25;;10175:1073;;;;;;:::o;11254:281::-;11312:5;11336:23;11354:4;11336:23;:::i;:::-;11328:31;;11380:25;11396:8;11380:25;:::i;:::-;11368:37;;11424:104;11461:66;11451:8;11445:4;11424:104;:::i;:::-;11415:113;;11254:281;;;;:::o;11541:410::-;11581:7;11604:20;11622:1;11604:20;:::i;:::-;11599:25;;11638:20;11656:1;11638:20;:::i;:::-;11633:25;;11693:1;11690;11686:9;11715:30;11733:11;11715:30;:::i;:::-;11704:41;;11894:1;11885:7;11881:15;11878:1;11875:22;11855:1;11848:9;11828:83;11805:139;;11924:18;;:::i;:::-;11805:139;11589:362;11541:410;;;;:::o;11957:143::-;12014:5;12045:6;12039:13;12030:22;;12061:33;12088:5;12061:33;:::i;:::-;11957:143;;;;:::o;12106:351::-;12176:6;12225:2;12213:9;12204:7;12200:23;12196:32;12193:119;;;12231:79;;:::i;:::-;12193:119;12351:1;12376:64;12432:7;12423:6;12412:9;12408:22;12376:64;:::i;:::-;12366:74;;12322:128;12106:351;;;;:::o;12463:332::-;12584:4;12622:2;12611:9;12607:18;12599:26;;12635:71;12703:1;12692:9;12688:17;12679:6;12635:71;:::i;:::-;12716:72;12784:2;12773:9;12769:18;12760:6;12716:72;:::i;:::-;12463:332;;;;;:::o;12801:85::-;12846:7;12875:5;12864:16;;12801:85;;;:::o;12892:60::-;12920:3;12941:5;12934:12;;12892:60;;;:::o;12958:158::-;13016:9;13049:61;13067:42;13076:32;13102:5;13076:32;:::i;:::-;13067:42;:::i;:::-;13049:61;:::i;:::-;13036:74;;12958:158;;;:::o;13122:147::-;13217:45;13256:5;13217:45;:::i;:::-;13212:3;13205:58;13122:147;;:::o;13275:807::-;13524:4;13562:3;13551:9;13547:19;13539:27;;13576:71;13644:1;13633:9;13629:17;13620:6;13576:71;:::i;:::-;13657:72;13725:2;13714:9;13710:18;13701:6;13657:72;:::i;:::-;13739:80;13815:2;13804:9;13800:18;13791:6;13739:80;:::i;:::-;13829;13905:2;13894:9;13890:18;13881:6;13829:80;:::i;:::-;13919:73;13987:3;13976:9;13972:19;13963:6;13919:73;:::i;:::-;14002;14070:3;14059:9;14055:19;14046:6;14002:73;:::i;:::-;13275:807;;;;;;;;;:::o;14088:143::-;14145:5;14176:6;14170:13;14161:22;;14192:33;14219:5;14192:33;:::i;:::-;14088:143;;;;:::o;14237:663::-;14325:6;14333;14341;14390:2;14378:9;14369:7;14365:23;14361:32;14358:119;;;14396:79;;:::i;:::-;14358:119;14516:1;14541:64;14597:7;14588:6;14577:9;14573:22;14541:64;:::i;:::-;14531:74;;14487:128;14654:2;14680:64;14736:7;14727:6;14716:9;14712:22;14680:64;:::i;:::-;14670:74;;14625:129;14793:2;14819:64;14875:7;14866:6;14855:9;14851:22;14819:64;:::i;:::-;14809:74;;14764:129;14237:663;;;;;:::o;14906:332::-;15027:4;15065:2;15054:9;15050:18;15042:26;;15078:71;15146:1;15135:9;15131:17;15122:6;15078:71;:::i;:::-;15159:72;15227:2;15216:9;15212:18;15203:6;15159:72;:::i;:::-;14906:332;;;;;:::o;15244:116::-;15314:21;15329:5;15314:21;:::i;:::-;15307:5;15304:32;15294:60;;15350:1;15347;15340:12;15294:60;15244:116;:::o;15366:137::-;15420:5;15451:6;15445:13;15436:22;;15467:30;15491:5;15467:30;:::i;:::-;15366:137;;;;:::o;15509:345::-;15576:6;15625:2;15613:9;15604:7;15600:23;15596:32;15593:119;;;15631:79;;:::i;:::-;15593:119;15751:1;15776:61;15829:7;15820:6;15809:9;15805:22;15776:61;:::i;:::-;15766:71;;15722:125;15509:345;;;;:::o;15860:180::-;15908:77;15905:1;15898:88;16005:4;16002:1;15995:15;16029:4;16026:1;16019:15;16046:223;16186:34;16182:1;16174:6;16170:14;16163:58;16255:6;16250:2;16242:6;16238:15;16231:31;16046:223;:::o;16275:366::-;16417:3;16438:67;16502:2;16497:3;16438:67;:::i;:::-;16431:74;;16514:93;16603:3;16514:93;:::i;:::-;16632:2;16627:3;16623:12;16616:19;;16275:366;;;:::o;16647:419::-;16813:4;16851:2;16840:9;16836:18;16828:26;;16900:9;16894:4;16890:20;16886:1;16875:9;16871:17;16864:47;16928:131;17054:4;16928:131;:::i;:::-;16920:139;;16647:419;;;:::o;17072:221::-;17212:34;17208:1;17200:6;17196:14;17189:58;17281:4;17276:2;17268:6;17264:15;17257:29;17072:221;:::o;17299:366::-;17441:3;17462:67;17526:2;17521:3;17462:67;:::i;:::-;17455:74;;17538:93;17627:3;17538:93;:::i;:::-;17656:2;17651:3;17647:12;17640:19;;17299:366;;;:::o;17671:419::-;17837:4;17875:2;17864:9;17860:18;17852:26;;17924:9;17918:4;17914:20;17910:1;17899:9;17895:17;17888:47;17952:131;18078:4;17952:131;:::i;:::-;17944:139;;17671:419;;;:::o;18096:224::-;18236:34;18232:1;18224:6;18220:14;18213:58;18305:7;18300:2;18292:6;18288:15;18281:32;18096:224;:::o;18326:366::-;18468:3;18489:67;18553:2;18548:3;18489:67;:::i;:::-;18482:74;;18565:93;18654:3;18565:93;:::i;:::-;18683:2;18678:3;18674:12;18667:19;;18326:366;;;:::o;18698:419::-;18864:4;18902:2;18891:9;18887:18;18879:26;;18951:9;18945:4;18941:20;18937:1;18926:9;18922:17;18915:47;18979:131;19105:4;18979:131;:::i;:::-;18971:139;;18698:419;;;:::o;19123:222::-;19263:34;19259:1;19251:6;19247:14;19240:58;19332:5;19327:2;19319:6;19315:15;19308:30;19123:222;:::o;19351:366::-;19493:3;19514:67;19578:2;19573:3;19514:67;:::i;:::-;19507:74;;19590:93;19679:3;19590:93;:::i;:::-;19708:2;19703:3;19699:12;19692:19;;19351:366;;;:::o;19723:419::-;19889:4;19927:2;19916:9;19912:18;19904:26;;19976:9;19970:4;19966:20;19962:1;19951:9;19947:17;19940:47;20004:131;20130:4;20004:131;:::i;:::-;19996:139;;19723:419;;;:::o;20148:228::-;20288:34;20284:1;20276:6;20272:14;20265:58;20357:11;20352:2;20344:6;20340:15;20333:36;20148:228;:::o;20382:366::-;20524:3;20545:67;20609:2;20604:3;20545:67;:::i;:::-;20538:74;;20621:93;20710:3;20621:93;:::i;:::-;20739:2;20734:3;20730:12;20723:19;;20382:366;;;:::o;20754:419::-;20920:4;20958:2;20947:9;20943:18;20935:26;;21007:9;21001:4;20997:20;20993:1;20982:9;20978:17;20971:47;21035:131;21161:4;21035:131;:::i;:::-;21027:139;;20754:419;;;:::o;21179:297::-;21319:34;21315:1;21307:6;21303:14;21296:58;21388:34;21383:2;21375:6;21371:15;21364:59;21457:11;21452:2;21444:6;21440:15;21433:36;21179:297;:::o;21482:366::-;21624:3;21645:67;21709:2;21704:3;21645:67;:::i;:::-;21638:74;;21721:93;21810:3;21721:93;:::i;:::-;21839:2;21834:3;21830:12;21823:19;;21482:366;;;:::o;21854:419::-;22020:4;22058:2;22047:9;22043:18;22035:26;;22107:9;22101:4;22097:20;22093:1;22082:9;22078:17;22071:47;22135:131;22261:4;22135:131;:::i;:::-;22127:139;;21854:419;;;:::o;22279:220::-;22419:34;22415:1;22407:6;22403:14;22396:58;22488:3;22483:2;22475:6;22471:15;22464:28;22279:220;:::o;22505:366::-;22647:3;22668:67;22732:2;22727:3;22668:67;:::i;:::-;22661:74;;22744:93;22833:3;22744:93;:::i;:::-;22862:2;22857:3;22853:12;22846:19;;22505:366;;;:::o;22877:419::-;23043:4;23081:2;23070:9;23066:18;23058:26;;23130:9;23124:4;23120:20;23116:1;23105:9;23101:17;23094:47;23158:131;23284:4;23158:131;:::i;:::-;23150:139;;22877:419;;;:::o;23302:191::-;23342:3;23361:20;23379:1;23361:20;:::i;:::-;23356:25;;23395:20;23413:1;23395:20;:::i;:::-;23390:25;;23438:1;23435;23431:9;23424:16;;23459:3;23456:1;23453:10;23450:36;;;23466:18;;:::i;:::-;23450:36;23302:191;;;;:::o;23499:176::-;23639:28;23635:1;23627:6;23623:14;23616:52;23499:176;:::o;23681:366::-;23823:3;23844:67;23908:2;23903:3;23844:67;:::i;:::-;23837:74;;23920:93;24009:3;23920:93;:::i;:::-;24038:2;24033:3;24029:12;24022:19;;23681:366;;;:::o;24053:419::-;24219:4;24257:2;24246:9;24242:18;24234:26;;24306:9;24300:4;24296:20;24292:1;24281:9;24277:17;24270:47;24334:131;24460:4;24334:131;:::i;:::-;24326:139;;24053:419;;;:::o;24478:233::-;24517:3;24540:24;24558:5;24540:24;:::i;:::-;24531:33;;24586:66;24579:5;24576:77;24573:103;;24656:18;;:::i;:::-;24573:103;24703:1;24696:5;24692:13;24685:20;;24478:233;;;:::o;24717:194::-;24757:4;24777:20;24795:1;24777:20;:::i;:::-;24772:25;;24811:20;24829:1;24811:20;:::i;:::-;24806:25;;24855:1;24852;24848:9;24840:17;;24879:1;24873:4;24870:11;24867:37;;;24884:18;;:::i;:::-;24867:37;24717:194;;;;:::o;24917:180::-;24965:77;24962:1;24955:88;25062:4;25059:1;25052:15;25086:4;25083:1;25076:15;25103:114;25170:6;25204:5;25198:12;25188:22;;25103:114;;;:::o;25223:184::-;25322:11;25356:6;25351:3;25344:19;25396:4;25391:3;25387:14;25372:29;;25223:184;;;;:::o;25413:132::-;25480:4;25503:3;25495:11;;25533:4;25528:3;25524:14;25516:22;;25413:132;;;:::o;25551:108::-;25628:24;25646:5;25628:24;:::i;:::-;25623:3;25616:37;25551:108;;:::o;25665:179::-;25734:10;25755:46;25797:3;25789:6;25755:46;:::i;:::-;25833:4;25828:3;25824:14;25810:28;;25665:179;;;;:::o;25850:113::-;25920:4;25952;25947:3;25943:14;25935:22;;25850:113;;;:::o;25999:732::-;26118:3;26147:54;26195:5;26147:54;:::i;:::-;26217:86;26296:6;26291:3;26217:86;:::i;:::-;26210:93;;26327:56;26377:5;26327:56;:::i;:::-;26406:7;26437:1;26422:284;26447:6;26444:1;26441:13;26422:284;;;26523:6;26517:13;26550:63;26609:3;26594:13;26550:63;:::i;:::-;26543:70;;26636:60;26689:6;26636:60;:::i;:::-;26626:70;;26482:224;26469:1;26466;26462:9;26457:14;;26422:284;;;26426:14;26722:3;26715:10;;26123:608;;;25999:732;;;;:::o;26737:831::-;27000:4;27038:3;27027:9;27023:19;27015:27;;27052:71;27120:1;27109:9;27105:17;27096:6;27052:71;:::i;:::-;27133:80;27209:2;27198:9;27194:18;27185:6;27133:80;:::i;:::-;27260:9;27254:4;27250:20;27245:2;27234:9;27230:18;27223:48;27288:108;27391:4;27382:6;27288:108;:::i;:::-;27280:116;;27406:72;27474:2;27463:9;27459:18;27450:6;27406:72;:::i;:::-;27488:73;27556:3;27545:9;27541:19;27532:6;27488:73;:::i;:::-;26737:831;;;;;;;;:::o;27574:180::-;27622:77;27619:1;27612:88;27719:4;27716:1;27709:15;27743:4;27740:1;27733:15;27760:185;27800:1;27817:20;27835:1;27817:20;:::i;:::-;27812:25;;27851:20;27869:1;27851:20;:::i;:::-;27846:25;;27890:1;27880:35;;27895:18;;:::i;:::-;27880:35;27937:1;27934;27930:9;27925:14;;27760:185;;;;:::o;27951:220::-;28091:34;28087:1;28079:6;28075:14;28068:58;28160:3;28155:2;28147:6;28143:15;28136:28;27951:220;:::o;28177:366::-;28319:3;28340:67;28404:2;28399:3;28340:67;:::i;:::-;28333:74;;28416:93;28505:3;28416:93;:::i;:::-;28534:2;28529:3;28525:12;28518:19;;28177:366;;;:::o;28549:419::-;28715:4;28753:2;28742:9;28738:18;28730:26;;28802:9;28796:4;28792:20;28788:1;28777:9;28773:17;28766:47;28830:131;28956:4;28830:131;:::i;:::-;28822:139;;28549:419;;;:::o;28974:177::-;29114:29;29110:1;29102:6;29098:14;29091:53;28974:177;:::o;29157:366::-;29299:3;29320:67;29384:2;29379:3;29320:67;:::i;:::-;29313:74;;29396:93;29485:3;29396:93;:::i;:::-;29514:2;29509:3;29505:12;29498:19;;29157:366;;;:::o;29529:419::-;29695:4;29733:2;29722:9;29718:18;29710:26;;29782:9;29776:4;29772:20;29768:1;29757:9;29753:17;29746:47;29810:131;29936:4;29810:131;:::i;:::-;29802:139;;29529:419;;;:::o
Swarm Source
ipfs://0267850dd38e7f7c829c07b5895a6de90e7cce6b903f2772efbfb0c6e5eb17c8
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.
Add Token to MetaMask (Web3)