Latest 25 from a total of 397,063 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 3979254 | 15 days ago | IN | 0 ETH | 0.00000128 | ||||
| Transfer | 3979154 | 15 days ago | IN | 0 ETH | 0.00000172 | ||||
| Approve | 2532784 | 127 days ago | IN | 0 ETH | 0.00000067 | ||||
| Approve | 2532782 | 127 days ago | IN | 0 ETH | 0.00000067 | ||||
| Approve | 2532773 | 127 days ago | IN | 0 ETH | 0.00000067 | ||||
| Approve | 2532767 | 127 days ago | IN | 0 ETH | 0.00000067 | ||||
| Approve | 2532765 | 127 days ago | IN | 0 ETH | 0.00000067 | ||||
| Approve | 2516910 | 128 days ago | IN | 0 ETH | 0.00000074 | ||||
| Approve | 2362143 | 135 days ago | IN | 0 ETH | 0.00000586 | ||||
| Approve | 2341457 | 136 days ago | IN | 0 ETH | 0.00000299 | ||||
| Approve | 2074976 | 145 days ago | IN | 0 ETH | 0.00001056 | ||||
| Approve | 1576130 | 161 days ago | IN | 0 ETH | 0.00001085 | ||||
| Approve | 1309204 | 173 days ago | IN | 0 ETH | 0.00000259 | ||||
| Approve | 1303500 | 175 days ago | IN | 0 ETH | 0.00000274 | ||||
| Approve | 1300555 | 176 days ago | IN | 0 ETH | 0.00000249 | ||||
| Approve | 1298394 | 177 days ago | IN | 0 ETH | 0.00000249 | ||||
| Approve | 1293784 | 179 days ago | IN | 0 ETH | 0.00000249 | ||||
| Approve | 1291664 | 180 days ago | IN | 0 ETH | 0.00000249 | ||||
| Approve | 1131870 | 266 days ago | IN | 0 ETH | 0.00000249 | ||||
| Approve | 851452 | 349 days ago | IN | 0 ETH | 0.00000271 | ||||
| Approve | 851178 | 349 days ago | IN | 0 ETH | 0.00000271 | ||||
| Approve | 850872 | 349 days ago | IN | 0 ETH | 0.00000271 | ||||
| Approve | 850394 | 349 days ago | IN | 0 ETH | 0.00000271 | ||||
| Approve | 846337 | 350 days ago | IN | 0 ETH | 0.00000271 | ||||
| Approve | 846205 | 350 days ago | IN | 0 ETH | 0.00000271 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 2362145 | 135 days ago | 0.00168364 ETH | ||||
| 2362145 | 135 days ago | 0.00168364 ETH | ||||
| 2074979 | 145 days ago | 0.00128752 ETH | ||||
| 2074979 | 145 days ago | 0.00128752 ETH | ||||
| 462408 | 468 days ago | 0.00053293 ETH | ||||
| 462408 | 468 days ago | 0.00053293 ETH | ||||
| 453343 | 471 days ago | 0.00188542 ETH | ||||
| 453343 | 471 days ago | 0.00188542 ETH | ||||
| 300259 | 526 days ago | 0.00168544 ETH | ||||
| 300259 | 526 days ago | 0.00168544 ETH | ||||
| 209405 | 550 days ago | 0.00200853 ETH | ||||
| 209405 | 550 days ago | 0.00200853 ETH | ||||
| 199852 | 552 days ago | 0.00324589 ETH | ||||
| 199852 | 552 days ago | 0.00324589 ETH | ||||
| 176030 | 559 days ago | 0.00209504 ETH | ||||
| 176030 | 559 days ago | 0.00209504 ETH | ||||
| 171482 | 560 days ago | 0.00272475 ETH | ||||
| 171482 | 560 days ago | 0.00272475 ETH | ||||
| 170322 | 560 days ago | 0.00006607 ETH | ||||
| 170322 | 560 days ago | 0.00006607 ETH | ||||
| 160853 | 563 days ago | 0.00061596 ETH | ||||
| 160853 | 563 days ago | 0.00061596 ETH | ||||
| 151827 | 565 days ago | 0.00220892 ETH | ||||
| 151827 | 565 days ago | 0.00220892 ETH | ||||
| 135075 | 569 days ago | 0.00057255 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
TKOSWAP
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/**
*Submitted for verification at taikoscan.io on 2024-06-05
*/
// SPDX-License-Identifier: MIT
/**
* TaikoSwap Token
*
* Telegram: https://t.me/Taiko_Swap
* Twitter/X: https://x.com/TaikoSwap_
* Website: https://tkoswap.xyz
**/
pragma solidity 0.8.17;
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 TKOSWAP 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 => uint256) private _holderLastTransferTimestamp;
address payable private _taxWallet =
payable(0x0562Cad508F5816D993c70C39adB95600F672FA4);
uint256 private _finalBuyTax = 4;
uint256 private _finalSellTax = 4;
uint8 private constant _decimals = 18;
uint256 private constant _tTotal = 1000000 * 10**_decimals;
string private constant _name = unicode"TaikoSwap";
string private constant _symbol = unicode"TKOSWAP";
uint256 public _maxTxAmount = 25000 * 10**_decimals;
uint256 public _maxWalletSize = 25000 * 10**_decimals;
uint256 public _taxSwapThreshold = 500 * 10**_decimals;
uint256 public _maxTaxSwap = 5000 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address public uniswapV2Pair;
bool private tradingOpen = false;
bool private inSwap = false;
bool private swapEnabled = false;
event MaxTxAmountUpdated(uint256 _maxTxAmount);
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
constructor() {
uniswapV2Router = IUniswapV2Router02(
0xF078BD74C62a2F643fd9630ECBCfe1C3c28f4734
);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
address(this),
uniswapV2Router.WETH()
);
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_msgSender()] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount)
public
override
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender)
public
view
override
returns (uint256)
{
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
amount,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function _approve(
address owner,
address spender,
uint256 amount
) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(
address from,
address to,
uint256 amount
) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if (from != owner() && to != owner()) {
if (
from == uniswapV2Pair &&
to != address(uniswapV2Router) &&
!_isExcludedFromFee[to]
) {
require(tradingOpen, "Trading not open");
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(
balanceOf(to) + amount <= _maxWalletSize,
"Exceeds the maxWalletSize."
);
taxAmount = amount.mul(_finalBuyTax).div(100);
}
if (to == uniswapV2Pair && from != address(this)) {
taxAmount = amount.mul(_finalSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (
!inSwap &&
to == uniswapV2Pair &&
swapEnabled &&
contractTokenBalance > _taxSwapThreshold
) {
swapTokensForEth(
min(amount, min(contractTokenBalance, _maxTaxSwap))
);
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
}
}
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
_balances[from] = _balances[from].sub(amount);
_balances[to] = _balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function 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 removeLimits() external onlyOwner {
_maxTxAmount = _tTotal;
_maxWalletSize = _tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function openTrading() external onlyOwner {
require(!tradingOpen, "trading is already open");
swapEnabled = true;
tradingOpen = true;
}
function setFees(uint256 _newBuyTax, uint256 _newSellTax)
external
onlyOwner
{
require(_newBuyTax <= 10 && _newSellTax <= 10, "taxes too high");
_finalBuyTax = _newBuyTax;
_finalSellTax = _newSellTax;
}
receive() external payable {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuyTax","type":"uint256"},{"internalType":"uint256","name":"_newSellTax","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052730562cad508f5816d993c70c39adb95600f672fa4600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460065560046007556012600a620000739190620008b1565b6161a862000082919062000902565b6008556012600a620000959190620008b1565b6161a8620000a4919062000902565b6009556012600a620000b79190620008b1565b6101f4620000c6919062000902565b600a556012600a620000d99190620008b1565b611388620000e8919062000902565b600b556000600d60146101000a81548160ff0219169083151502179055506000600d60156101000a81548160ff0219169083151502179055506000600d60166101000a81548160ff0219169083151502179055503480156200014957600080fd5b5060006200015c620006e660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073f078bd74c62a2f643fd9630ecbcfe1c3c28f4734600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e39190620009b7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200036d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003939190620009b7565b6040518363ffffffff1660e01b8152600401620003b2929190620009fa565b6020604051808303816000875af1158015620003d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f89190620009b7565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620004489190620008b1565b620f424062000458919062000902565b600160006200046c620006e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620004c0620006ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360006200057f620006e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200065a620006e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620006b99190620008b1565b620f4240620006c9919062000902565b604051620006d8919062000a38565b60405180910390a362000a55565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007a5578086048111156200077d576200077c62000717565b5b60018516156200078d5780820291505b80810290506200079d8562000746565b94506200075d565b94509492505050565b600082620007c0576001905062000893565b81620007d0576000905062000893565b8160018114620007e95760028114620007f4576200082a565b600191505062000893565b60ff84111562000809576200080862000717565b5b8360020a91508482111562000823576200082262000717565b5b5062000893565b5060208310610133831016604e8410600b8410161715620008645782820a9050838111156200085e576200085d62000717565b5b62000893565b62000873848484600162000753565b925090508184048111156200088d576200088c62000717565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008be826200089a565b9150620008cb83620008a4565b9250620008fa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007ae565b905092915050565b60006200090f826200089a565b91506200091c836200089a565b92508282026200092c816200089a565b9150828204841483151762000946576200094562000717565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200097f8262000952565b9050919050565b620009918162000972565b81146200099d57600080fd5b50565b600081519050620009b18162000986565b92915050565b600060208284031215620009d057620009cf6200094d565b5b6000620009e084828501620009a0565b91505092915050565b620009f48162000972565b82525050565b600060408201905062000a116000830185620009e9565b62000a206020830184620009e9565b9392505050565b62000a32816200089a565b82525050565b600060208201905062000a4f600083018462000a27565b92915050565b6129c38062000a656000396000f3fe6080604052600436106101185760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b411461038a578063a9059cbb146103b5578063bf474bed146103f2578063c9567bf91461041d578063dd62ed3e146104345761011f565b8063715018a6146102db578063751039fc146102f25780637d1db4a5146103095780638da5cb5b146103345780638f9a55c01461035f5761011f565b806318160ddd116100e757806318160ddd146101e057806323b872dd1461020b578063313ce5671461024857806349bd5a5e1461027357806370a082311461029e5761011f565b806306fdde0314610124578063095ea7b31461014f5780630b78f9c01461018c5780630faee56f146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610471565b6040516101469190611b95565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190611c50565b6104ae565b6040516101839190611cab565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190611cc6565b6104cc565b005b3480156101c157600080fd5b506101ca6105c4565b6040516101d79190611d15565b60405180910390f35b3480156101ec57600080fd5b506101f56105ca565b6040516102029190611d15565b60405180910390f35b34801561021757600080fd5b50610232600480360381019061022d9190611d30565b6105ed565b60405161023f9190611cab565b60405180910390f35b34801561025457600080fd5b5061025d6106c6565b60405161026a9190611d9f565b60405180910390f35b34801561027f57600080fd5b506102886106cf565b6040516102959190611dc9565b60405180910390f35b3480156102aa57600080fd5b506102c560048036038101906102c09190611de4565b6106f5565b6040516102d29190611d15565b60405180910390f35b3480156102e757600080fd5b506102f061073e565b005b3480156102fe57600080fd5b50610307610891565b005b34801561031557600080fd5b5061031e6109be565b60405161032b9190611d15565b60405180910390f35b34801561034057600080fd5b506103496109c4565b6040516103569190611dc9565b60405180910390f35b34801561036b57600080fd5b506103746109ed565b6040516103819190611d15565b60405180910390f35b34801561039657600080fd5b5061039f6109f3565b6040516103ac9190611b95565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d79190611c50565b610a30565b6040516103e99190611cab565b60405180910390f35b3480156103fe57600080fd5b50610407610a4e565b6040516104149190611d15565b60405180910390f35b34801561042957600080fd5b50610432610a54565b005b34801561044057600080fd5b5061045b60048036038101906104569190611e11565b610b71565b6040516104689190611d15565b60405180910390f35b60606040518060400160405280600981526020017f5461696b6f537761700000000000000000000000000000000000000000000000815250905090565b60006104c26104bb610bf8565b8484610c00565b6001905092915050565b6104d4610bf8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055890611e9d565b60405180910390fd5b600a82111580156105735750600a8111155b6105b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a990611f09565b60405180910390fd5b81600681905550806007819055505050565b600b5481565b60006012600a6105da919061208b565b620f42406105e891906120d6565b905090565b60006105fa848484610dc9565b6106bb84610606610bf8565b6106b68560405180606001604052806028815260200161296660289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061066c610bf8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115d49092919063ffffffff16565b610c00565b600190509392505050565b60006012905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610746610bf8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ca90611e9d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610899610bf8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091d90611e9d565b60405180910390fd5b6012600a610934919061208b565b620f424061094291906120d6565b6008819055506012600a610956919061208b565b620f424061096491906120d6565b6009819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610999919061208b565b620f42406109a791906120d6565b6040516109b49190611d15565b60405180910390a1565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600781526020017f544b4f5357415000000000000000000000000000000000000000000000000000815250905090565b6000610a44610a3d610bf8565b8484610dc9565b6001905092915050565b600a5481565b610a5c610bf8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae090611e9d565b60405180910390fd5b600d60149054906101000a900460ff1615610b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3090612164565b60405180910390fd5b6001600d60166101000a81548160ff0219169083151502179055506001600d60146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c66906121f6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd590612288565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dbc9190611d15565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2f9061231a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9e906123ac565b60405180910390fd5b60008111610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee19061243e565b60405180910390fd5b6000610ef46109c4565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610f625750610f326109c4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561131757600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156110125750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156110685750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561118457600d60149054906101000a900460ff166110bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b3906124aa565b60405180910390fd5b600854821115611101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f890612516565b60405180910390fd5b6009548261110e856106f5565b6111189190612536565b1115611159576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611150906125b6565b60405180910390fd5b61118160646111736006548561163890919063ffffffff16565b6116b290919063ffffffff16565b90505b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561120d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561123d5761123a606461122c6007548561163890919063ffffffff16565b6116b290919063ffffffff16565b90505b6000611248306106f5565b9050600d60159054906101000a900460ff161580156112b45750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156112cc5750600d60169054906101000a900460ff165b80156112d95750600a5481115b15611315576112fb6112f6846112f184600b546116fc565b6116fc565b611715565b60004790506000811115611313576113124761198e565b5b505b505b600081111561141b5761137281600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119fa90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114129190611d15565b60405180910390a35b61146d82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115146114c68284611a5890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119fa90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115b98486611a5890919063ffffffff16565b6040516115c69190611d15565b60405180910390a350505050565b600083831115829061161c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116139190611b95565b60405180910390fd5b506000838561162b91906125d6565b9050809150509392505050565b600080830361164a57600090506116ac565b6000828461165891906120d6565b90508284826116679190612639565b146116a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169e906126dc565b60405180910390fd5b809150505b92915050565b60006116f483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aa2565b905092915050565b600081831161170b578261170d565b815b905092915050565b6001600d60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561174d5761174c6126fc565b5b60405190808252806020026020018201604052801561177b5781602001602082028036833780820191505090505b50905030816000815181106117935761179261272b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561183a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185e919061276f565b816001815181106118725761187161272b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118d930600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c00565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161193d95949392919061289f565b600060405180830381600087803b15801561195757600080fd5b505af115801561196b573d6000803e3d6000fd5b50505050506000600d60156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119f6573d6000803e3d6000fd5b5050565b6000808284611a099190612536565b905083811015611a4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4590612945565b60405180910390fd5b8091505092915050565b6000611a9a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115d4565b905092915050565b60008083118290611ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae09190611b95565b60405180910390fd5b5060008385611af89190612639565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b3f578082015181840152602081019050611b24565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b6782611b05565b611b718185611b10565b9350611b81818560208601611b21565b611b8a81611b4b565b840191505092915050565b60006020820190508181036000830152611baf8184611b5c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611be782611bbc565b9050919050565b611bf781611bdc565b8114611c0257600080fd5b50565b600081359050611c1481611bee565b92915050565b6000819050919050565b611c2d81611c1a565b8114611c3857600080fd5b50565b600081359050611c4a81611c24565b92915050565b60008060408385031215611c6757611c66611bb7565b5b6000611c7585828601611c05565b9250506020611c8685828601611c3b565b9150509250929050565b60008115159050919050565b611ca581611c90565b82525050565b6000602082019050611cc06000830184611c9c565b92915050565b60008060408385031215611cdd57611cdc611bb7565b5b6000611ceb85828601611c3b565b9250506020611cfc85828601611c3b565b9150509250929050565b611d0f81611c1a565b82525050565b6000602082019050611d2a6000830184611d06565b92915050565b600080600060608486031215611d4957611d48611bb7565b5b6000611d5786828701611c05565b9350506020611d6886828701611c05565b9250506040611d7986828701611c3b565b9150509250925092565b600060ff82169050919050565b611d9981611d83565b82525050565b6000602082019050611db46000830184611d90565b92915050565b611dc381611bdc565b82525050565b6000602082019050611dde6000830184611dba565b92915050565b600060208284031215611dfa57611df9611bb7565b5b6000611e0884828501611c05565b91505092915050565b60008060408385031215611e2857611e27611bb7565b5b6000611e3685828601611c05565b9250506020611e4785828601611c05565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e87602083611b10565b9150611e9282611e51565b602082019050919050565b60006020820190508181036000830152611eb681611e7a565b9050919050565b7f746178657320746f6f2068696768000000000000000000000000000000000000600082015250565b6000611ef3600e83611b10565b9150611efe82611ebd565b602082019050919050565b60006020820190508181036000830152611f2281611ee6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611faf57808604811115611f8b57611f8a611f29565b5b6001851615611f9a5780820291505b8081029050611fa885611f58565b9450611f6f565b94509492505050565b600082611fc85760019050612084565b81611fd65760009050612084565b8160018114611fec5760028114611ff657612025565b6001915050612084565b60ff84111561200857612007611f29565b5b8360020a91508482111561201f5761201e611f29565b5b50612084565b5060208310610133831016604e8410600b841016171561205a5782820a90508381111561205557612054611f29565b5b612084565b6120678484846001611f65565b9250905081840481111561207e5761207d611f29565b5b81810290505b9392505050565b600061209682611c1a565b91506120a183611d83565b92506120ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611fb8565b905092915050565b60006120e182611c1a565b91506120ec83611c1a565b92508282026120fa81611c1a565b9150828204841483151761211157612110611f29565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061214e601783611b10565b915061215982612118565b602082019050919050565b6000602082019050818103600083015261217d81612141565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006121e0602483611b10565b91506121eb82612184565b604082019050919050565b6000602082019050818103600083015261220f816121d3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612272602283611b10565b915061227d82612216565b604082019050919050565b600060208201905081810360008301526122a181612265565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612304602583611b10565b915061230f826122a8565b604082019050919050565b60006020820190508181036000830152612333816122f7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612396602383611b10565b91506123a18261233a565b604082019050919050565b600060208201905081810360008301526123c581612389565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612428602983611b10565b9150612433826123cc565b604082019050919050565b600060208201905081810360008301526124578161241b565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612494601083611b10565b915061249f8261245e565b602082019050919050565b600060208201905081810360008301526124c381612487565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612500601983611b10565b915061250b826124ca565b602082019050919050565b6000602082019050818103600083015261252f816124f3565b9050919050565b600061254182611c1a565b915061254c83611c1a565b925082820190508082111561256457612563611f29565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006125a0601a83611b10565b91506125ab8261256a565b602082019050919050565b600060208201905081810360008301526125cf81612593565b9050919050565b60006125e182611c1a565b91506125ec83611c1a565b925082820390508181111561260457612603611f29565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061264482611c1a565b915061264f83611c1a565b92508261265f5761265e61260a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006126c6602183611b10565b91506126d18261266a565b604082019050919050565b600060208201905081810360008301526126f5816126b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061276981611bee565b92915050565b60006020828403121561278557612784611bb7565b5b60006127938482850161275a565b91505092915050565b6000819050919050565b6000819050919050565b60006127cb6127c66127c18461279c565b6127a6565b611c1a565b9050919050565b6127db816127b0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61281681611bdc565b82525050565b6000612828838361280d565b60208301905092915050565b6000602082019050919050565b600061284c826127e1565b61285681856127ec565b9350612861836127fd565b8060005b83811015612892578151612879888261281c565b975061288483612834565b925050600181019050612865565b5085935050505092915050565b600060a0820190506128b46000830188611d06565b6128c160208301876127d2565b81810360408301526128d38186612841565b90506128e26060830185611dba565b6128ef6080830184611d06565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061292f601b83611b10565b915061293a826128f9565b602082019050919050565b6000602082019050818103600083015261295e81612922565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122011cbc8baddaed8bcd38d4e10106a6145803a5c835e8bae4988321d197848ed6a64736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101185760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b411461038a578063a9059cbb146103b5578063bf474bed146103f2578063c9567bf91461041d578063dd62ed3e146104345761011f565b8063715018a6146102db578063751039fc146102f25780637d1db4a5146103095780638da5cb5b146103345780638f9a55c01461035f5761011f565b806318160ddd116100e757806318160ddd146101e057806323b872dd1461020b578063313ce5671461024857806349bd5a5e1461027357806370a082311461029e5761011f565b806306fdde0314610124578063095ea7b31461014f5780630b78f9c01461018c5780630faee56f146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610471565b6040516101469190611b95565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190611c50565b6104ae565b6040516101839190611cab565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190611cc6565b6104cc565b005b3480156101c157600080fd5b506101ca6105c4565b6040516101d79190611d15565b60405180910390f35b3480156101ec57600080fd5b506101f56105ca565b6040516102029190611d15565b60405180910390f35b34801561021757600080fd5b50610232600480360381019061022d9190611d30565b6105ed565b60405161023f9190611cab565b60405180910390f35b34801561025457600080fd5b5061025d6106c6565b60405161026a9190611d9f565b60405180910390f35b34801561027f57600080fd5b506102886106cf565b6040516102959190611dc9565b60405180910390f35b3480156102aa57600080fd5b506102c560048036038101906102c09190611de4565b6106f5565b6040516102d29190611d15565b60405180910390f35b3480156102e757600080fd5b506102f061073e565b005b3480156102fe57600080fd5b50610307610891565b005b34801561031557600080fd5b5061031e6109be565b60405161032b9190611d15565b60405180910390f35b34801561034057600080fd5b506103496109c4565b6040516103569190611dc9565b60405180910390f35b34801561036b57600080fd5b506103746109ed565b6040516103819190611d15565b60405180910390f35b34801561039657600080fd5b5061039f6109f3565b6040516103ac9190611b95565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d79190611c50565b610a30565b6040516103e99190611cab565b60405180910390f35b3480156103fe57600080fd5b50610407610a4e565b6040516104149190611d15565b60405180910390f35b34801561042957600080fd5b50610432610a54565b005b34801561044057600080fd5b5061045b60048036038101906104569190611e11565b610b71565b6040516104689190611d15565b60405180910390f35b60606040518060400160405280600981526020017f5461696b6f537761700000000000000000000000000000000000000000000000815250905090565b60006104c26104bb610bf8565b8484610c00565b6001905092915050565b6104d4610bf8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055890611e9d565b60405180910390fd5b600a82111580156105735750600a8111155b6105b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a990611f09565b60405180910390fd5b81600681905550806007819055505050565b600b5481565b60006012600a6105da919061208b565b620f42406105e891906120d6565b905090565b60006105fa848484610dc9565b6106bb84610606610bf8565b6106b68560405180606001604052806028815260200161296660289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061066c610bf8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115d49092919063ffffffff16565b610c00565b600190509392505050565b60006012905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610746610bf8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ca90611e9d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610899610bf8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091d90611e9d565b60405180910390fd5b6012600a610934919061208b565b620f424061094291906120d6565b6008819055506012600a610956919061208b565b620f424061096491906120d6565b6009819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610999919061208b565b620f42406109a791906120d6565b6040516109b49190611d15565b60405180910390a1565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600781526020017f544b4f5357415000000000000000000000000000000000000000000000000000815250905090565b6000610a44610a3d610bf8565b8484610dc9565b6001905092915050565b600a5481565b610a5c610bf8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae090611e9d565b60405180910390fd5b600d60149054906101000a900460ff1615610b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3090612164565b60405180910390fd5b6001600d60166101000a81548160ff0219169083151502179055506001600d60146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c66906121f6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd590612288565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dbc9190611d15565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2f9061231a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9e906123ac565b60405180910390fd5b60008111610eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee19061243e565b60405180910390fd5b6000610ef46109c4565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610f625750610f326109c4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561131757600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156110125750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156110685750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561118457600d60149054906101000a900460ff166110bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b3906124aa565b60405180910390fd5b600854821115611101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f890612516565b60405180910390fd5b6009548261110e856106f5565b6111189190612536565b1115611159576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611150906125b6565b60405180910390fd5b61118160646111736006548561163890919063ffffffff16565b6116b290919063ffffffff16565b90505b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561120d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561123d5761123a606461122c6007548561163890919063ffffffff16565b6116b290919063ffffffff16565b90505b6000611248306106f5565b9050600d60159054906101000a900460ff161580156112b45750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156112cc5750600d60169054906101000a900460ff165b80156112d95750600a5481115b15611315576112fb6112f6846112f184600b546116fc565b6116fc565b611715565b60004790506000811115611313576113124761198e565b5b505b505b600081111561141b5761137281600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119fa90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114129190611d15565b60405180910390a35b61146d82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115146114c68284611a5890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119fa90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115b98486611a5890919063ffffffff16565b6040516115c69190611d15565b60405180910390a350505050565b600083831115829061161c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116139190611b95565b60405180910390fd5b506000838561162b91906125d6565b9050809150509392505050565b600080830361164a57600090506116ac565b6000828461165891906120d6565b90508284826116679190612639565b146116a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169e906126dc565b60405180910390fd5b809150505b92915050565b60006116f483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aa2565b905092915050565b600081831161170b578261170d565b815b905092915050565b6001600d60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561174d5761174c6126fc565b5b60405190808252806020026020018201604052801561177b5781602001602082028036833780820191505090505b50905030816000815181106117935761179261272b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561183a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185e919061276f565b816001815181106118725761187161272b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118d930600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c00565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161193d95949392919061289f565b600060405180830381600087803b15801561195757600080fd5b505af115801561196b573d6000803e3d6000fd5b50505050506000600d60156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119f6573d6000803e3d6000fd5b5050565b6000808284611a099190612536565b905083811015611a4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4590612945565b60405180910390fd5b8091505092915050565b6000611a9a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115d4565b905092915050565b60008083118290611ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae09190611b95565b60405180910390fd5b5060008385611af89190612639565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b3f578082015181840152602081019050611b24565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b6782611b05565b611b718185611b10565b9350611b81818560208601611b21565b611b8a81611b4b565b840191505092915050565b60006020820190508181036000830152611baf8184611b5c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611be782611bbc565b9050919050565b611bf781611bdc565b8114611c0257600080fd5b50565b600081359050611c1481611bee565b92915050565b6000819050919050565b611c2d81611c1a565b8114611c3857600080fd5b50565b600081359050611c4a81611c24565b92915050565b60008060408385031215611c6757611c66611bb7565b5b6000611c7585828601611c05565b9250506020611c8685828601611c3b565b9150509250929050565b60008115159050919050565b611ca581611c90565b82525050565b6000602082019050611cc06000830184611c9c565b92915050565b60008060408385031215611cdd57611cdc611bb7565b5b6000611ceb85828601611c3b565b9250506020611cfc85828601611c3b565b9150509250929050565b611d0f81611c1a565b82525050565b6000602082019050611d2a6000830184611d06565b92915050565b600080600060608486031215611d4957611d48611bb7565b5b6000611d5786828701611c05565b9350506020611d6886828701611c05565b9250506040611d7986828701611c3b565b9150509250925092565b600060ff82169050919050565b611d9981611d83565b82525050565b6000602082019050611db46000830184611d90565b92915050565b611dc381611bdc565b82525050565b6000602082019050611dde6000830184611dba565b92915050565b600060208284031215611dfa57611df9611bb7565b5b6000611e0884828501611c05565b91505092915050565b60008060408385031215611e2857611e27611bb7565b5b6000611e3685828601611c05565b9250506020611e4785828601611c05565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e87602083611b10565b9150611e9282611e51565b602082019050919050565b60006020820190508181036000830152611eb681611e7a565b9050919050565b7f746178657320746f6f2068696768000000000000000000000000000000000000600082015250565b6000611ef3600e83611b10565b9150611efe82611ebd565b602082019050919050565b60006020820190508181036000830152611f2281611ee6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611faf57808604811115611f8b57611f8a611f29565b5b6001851615611f9a5780820291505b8081029050611fa885611f58565b9450611f6f565b94509492505050565b600082611fc85760019050612084565b81611fd65760009050612084565b8160018114611fec5760028114611ff657612025565b6001915050612084565b60ff84111561200857612007611f29565b5b8360020a91508482111561201f5761201e611f29565b5b50612084565b5060208310610133831016604e8410600b841016171561205a5782820a90508381111561205557612054611f29565b5b612084565b6120678484846001611f65565b9250905081840481111561207e5761207d611f29565b5b81810290505b9392505050565b600061209682611c1a565b91506120a183611d83565b92506120ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611fb8565b905092915050565b60006120e182611c1a565b91506120ec83611c1a565b92508282026120fa81611c1a565b9150828204841483151761211157612110611f29565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061214e601783611b10565b915061215982612118565b602082019050919050565b6000602082019050818103600083015261217d81612141565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006121e0602483611b10565b91506121eb82612184565b604082019050919050565b6000602082019050818103600083015261220f816121d3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612272602283611b10565b915061227d82612216565b604082019050919050565b600060208201905081810360008301526122a181612265565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612304602583611b10565b915061230f826122a8565b604082019050919050565b60006020820190508181036000830152612333816122f7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612396602383611b10565b91506123a18261233a565b604082019050919050565b600060208201905081810360008301526123c581612389565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612428602983611b10565b9150612433826123cc565b604082019050919050565b600060208201905081810360008301526124578161241b565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612494601083611b10565b915061249f8261245e565b602082019050919050565b600060208201905081810360008301526124c381612487565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612500601983611b10565b915061250b826124ca565b602082019050919050565b6000602082019050818103600083015261252f816124f3565b9050919050565b600061254182611c1a565b915061254c83611c1a565b925082820190508082111561256457612563611f29565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006125a0601a83611b10565b91506125ab8261256a565b602082019050919050565b600060208201905081810360008301526125cf81612593565b9050919050565b60006125e182611c1a565b91506125ec83611c1a565b925082820390508181111561260457612603611f29565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061264482611c1a565b915061264f83611c1a565b92508261265f5761265e61260a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006126c6602183611b10565b91506126d18261266a565b604082019050919050565b600060208201905081810360008301526126f5816126b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061276981611bee565b92915050565b60006020828403121561278557612784611bb7565b5b60006127938482850161275a565b91505092915050565b6000819050919050565b6000819050919050565b60006127cb6127c66127c18461279c565b6127a6565b611c1a565b9050919050565b6127db816127b0565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61281681611bdc565b82525050565b6000612828838361280d565b60208301905092915050565b6000602082019050919050565b600061284c826127e1565b61285681856127ec565b9350612861836127fd565b8060005b83811015612892578151612879888261281c565b975061288483612834565b925050600181019050612865565b5085935050505092915050565b600060a0820190506128b46000830188611d06565b6128c160208301876127d2565b81810360408301526128d38186612841565b90506128e26060830185611dba565b6128ef6080830184611d06565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061292f601b83611b10565b915061293a826128f9565b602082019050919050565b6000602082019050818103600083015261295e81612922565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122011cbc8baddaed8bcd38d4e10106a6145803a5c835e8bae4988321d197848ed6a64736f6c63430008110033
Deployed Bytecode Sourcemap
3968:7323:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5908:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6814:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10994:257;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4899:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6185:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7015:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6094:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5006:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6288:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2920:148;;;;;;;;;;;;;:::i;:::-;;10549:162;;;;;;;;;;;;;:::i;:::-;;4720:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2706:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4778:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5999:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6415:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4838:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10819:167;;;;;;;;;;;;;:::i;:::-;;6622:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5908:83;5945:13;5978:5;;;;;;;;;;;;;;;;;5971:12;;5908:83;:::o;6814:193::-;6916:4;6938:39;6947:12;:10;:12::i;:::-;6961:7;6970:6;6938:8;:39::i;:::-;6995:4;6988:11;;6814:193;;;;:::o;10994:257::-;2843:12;:10;:12::i;:::-;2833:22;;:6;;;;;;;;;;:22;;;2825:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11127:2:::1;11113:10;:16;;:37;;;;;11148:2;11133:11;:17;;11113:37;11105:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11195:10;11180:12;:25;;;;11232:11;11216:13;:27;;;;10994:257:::0;;:::o;4899:49::-;;;;:::o;6185:95::-;6238:7;4530:2;4584;:13;;;;:::i;:::-;4574:7;:23;;;;:::i;:::-;6258:14;;6185:95;:::o;7015:446::-;7147:4;7164:36;7174:6;7182:9;7193:6;7164:9;:36::i;:::-;7211:220;7234:6;7255:12;:10;:12::i;:::-;7282:138;7338:6;7282:138;;;;;;;;;;;;;;;;;:11;:19;7294:6;7282:19;;;;;;;;;;;;;;;:33;7302:12;:10;:12::i;:::-;7282:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7211:8;:220::i;:::-;7449:4;7442:11;;7015:446;;;;;:::o;6094:83::-;6135:5;4530:2;6153:16;;6094:83;:::o;5006:28::-;;;;;;;;;;;;;:::o;6288:119::-;6354:7;6381:9;:18;6391:7;6381:18;;;;;;;;;;;;;;;;6374:25;;6288:119;;;:::o;2920:148::-;2843:12;:10;:12::i;:::-;2833:22;;:6;;;;;;;;;;:22;;;2825:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3027:1:::1;2990:40;;3011:6;::::0;::::1;;;;;;;;2990:40;;;;;;;;;;;;3058:1;3041:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2920:148::o:0;10549:162::-;2843:12;:10;:12::i;:::-;2833:22;;:6;;;;;;;;;;:22;;;2825:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4530:2:::1;4584;:13;;;;:::i;:::-;4574:7;:23;;;;:::i;:::-;10603:12;:22;;;;4530:2;4584;:13;;;;:::i;:::-;4574:7;:23;;;;:::i;:::-;10636:14;:24;;;;10676:27;4530:2;4584;:13;;;;:::i;:::-;4574:7;:23;;;;:::i;:::-;10676:27;;;;;;:::i;:::-;;;;;;;;10549:162::o:0;4720:51::-;;;;:::o;2706:79::-;2744:7;2771:6;;;;;;;;;;;2764:13;;2706:79;:::o;4778:53::-;;;;:::o;5999:87::-;6038:13;6071:7;;;;;;;;;;;;;;;;;6064:14;;5999:87;:::o;6415:199::-;6520:4;6542:42;6552:12;:10;:12::i;:::-;6566:9;6577:6;6542:9;:42::i;:::-;6602:4;6595:11;;6415:199;;;;:::o;4838:54::-;;;;:::o;10819:167::-;2843:12;:10;:12::i;:::-;2833:22;;:6;;;;;;;;;;:22;;;2825:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10881:11:::1;;;;;;;;;;;10880:12;10872:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10945:4;10931:11;;:18;;;;;;;;;;;;;;;;;;10974:4;10960:11;;:18;;;;;;;;;;;;;;;;;;10819:167::o:0;6622:184::-;6739:7;6771:11;:18;6783:5;6771:18;;;;;;;;;;;;;;;:27;6790:7;6771:27;;;;;;;;;;;;;;;;6764:34;;6622:184;;;;:::o;246:98::-;299:7;326:10;319:17;;246:98;:::o;7469:369::-;7613:1;7596:19;;:5;:19;;;7588:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7694:1;7675:21;;:7;:21;;;7667:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7776:6;7746:11;:18;7758:5;7746:18;;;;;;;;;;;;;;;:27;7765:7;7746:27;;;;;;;;;;;;;;;:36;;;;7814:7;7798:32;;7807:5;7798:32;;;7823:6;7798:32;;;;;;:::i;:::-;;;;;;;;7469:369;;;:::o;7846:2089::-;7984:1;7968:18;;:4;:18;;;7960:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8061:1;8047:16;;:2;:16;;;8039:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8131:1;8122:6;:10;8114:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8189:17;8233:7;:5;:7::i;:::-;8225:15;;:4;:15;;;;:32;;;;;8250:7;:5;:7::i;:::-;8244:13;;:2;:13;;;;8225:32;8221:1343;;;8304:13;;;;;;;;;;;8296:21;;:4;:21;;;:72;;;;;8352:15;;;;;;;;;;;8338:30;;:2;:30;;;;8296:72;:116;;;;;8390:18;:22;8409:2;8390:22;;;;;;;;;;;;;;;;;;;;;;;;;8389:23;8296:116;8274:531;;;8455:11;;;;;;;;;;;8447:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;8524:12;;8514:6;:22;;8506:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8641:14;;8631:6;8615:13;8625:2;8615:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8585:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;8756:33;8785:3;8756:24;8767:12;;8756:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8744:45;;8274:531;8831:13;;;;;;;;;;;8825:19;;:2;:19;;;:44;;;;;8864:4;8848:21;;:4;:21;;;;8825:44;8821:131;;;8902:34;8932:3;8902:25;8913:13;;8902:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;8890:46;;8821:131;8968:28;8999:24;9017:4;8999:9;:24::i;:::-;8968:55;;9061:6;;;;;;;;;;;9060:7;:47;;;;;9094:13;;;;;;;;;;;9088:19;;:2;:19;;;9060:47;:79;;;;;9128:11;;;;;;;;;;;9060:79;:140;;;;;9183:17;;9160:20;:40;9060:140;9038:515;;;9235:109;9274:51;9278:6;9286:38;9290:20;9312:11;;9286:3;:38::i;:::-;9274:3;:51::i;:::-;9235:16;:109::i;:::-;9363:26;9392:21;9363:50;;9457:1;9436:18;:22;9432:106;;;9483:35;9496:21;9483:12;:35::i;:::-;9432:106;9216:337;9038:515;8259:1305;8221:1343;9592:1;9580:9;:13;9576:172;;;9637:39;9666:9;9637;:24;9655:4;9637:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9610:9;:24;9628:4;9610:24;;;;;;;;;;;;;;;:66;;;;9719:4;9696:40;;9705:4;9696:40;;;9726:9;9696:40;;;;;;:::i;:::-;;;;;;;;9576:172;9776:27;9796:6;9776:9;:15;9786:4;9776:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9758:9;:15;9768:4;9758:15;;;;;;;;;;;;;;;:45;;;;9830:40;9848:21;9859:9;9848:6;:10;;:21;;;;:::i;:::-;9830:9;:13;9840:2;9830:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9814:9;:13;9824:2;9814:13;;;;;;;;;;;;;;;:56;;;;9901:2;9886:41;;9895:4;9886:41;;;9905:21;9916:9;9905:6;:10;;:21;;;;:::i;:::-;9886:41;;;;;;:::i;:::-;;;;;;;;7949:1986;7846:2089;;;:::o;1508:224::-;1628:7;1661:1;1656;:6;;1664:12;1648:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1688:9;1704:1;1700;:5;;;;:::i;:::-;1688:17;;1723:1;1716:8;;;1508:224;;;;;:::o;1740:246::-;1798:7;1827:1;1822;:6;1818:47;;1852:1;1845:8;;;;1818:47;1875:9;1891:1;1887;:5;;;;:::i;:::-;1875:17;;1920:1;1915;1911;:5;;;;:::i;:::-;:10;1903:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1977:1;1970:8;;;1740:246;;;;;:::o;1994:132::-;2052:7;2079:39;2083:1;2086;2079:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2072:46;;1994:132;;;;:::o;9943:107::-;10000:7;10032:1;10028;:5;10027:15;;10041:1;10027:15;;;10037:1;10027:15;10020:22;;9943:107;;;;:::o;10058:483::-;5251:4;5242:6;;:13;;;;;;;;;;;;;;;;;;10136:21:::1;10174:1;10160:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10136:40;;10205:4;10187;10192:1;10187:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10231:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10221:4;10226:1;10221:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10264:62;10281:4;10296:15;;;;;;;;;;;10314:11;10264:8;:62::i;:::-;10337:15;;;;;;;;;;;:66;;;10418:11;10444:1;10460:4;10487;10507:15;10337:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10125:416;5287:5:::0;5278:6;;:14;;;;;;;;;;;;;;;;;;10058:483;:::o;10719:92::-;10776:10;;;;;;;;;;;:19;;:27;10796:6;10776:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10719:92;:::o;1177:179::-;1235:7;1255:9;1271:1;1267;:5;;;;:::i;:::-;1255:17;;1296:1;1291;:6;;1283:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1347:1;1340:8;;;1177:179;;;;:::o;1364:136::-;1422:7;1449:43;1453:1;1456;1449:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1442:50;;1364:136;;;;:::o;2134:223::-;2254:7;2286:1;2282;:5;2289:12;2274:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2313:9;2329:1;2325;:5;;;;:::i;:::-;2313:17;;2348:1;2341:8;;;2134: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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:474::-;3514:6;3522;3571:2;3559:9;3550:7;3546:23;3542:32;3539:119;;;3577:79;;:::i;:::-;3539:119;3697:1;3722:53;3767:7;3758:6;3747:9;3743:22;3722:53;:::i;:::-;3712:63;;3668:117;3824:2;3850:53;3895:7;3886:6;3875:9;3871:22;3850:53;:::i;:::-;3840:63;;3795:118;3446:474;;;;;:::o;3926:118::-;4013:24;4031:5;4013:24;:::i;:::-;4008:3;4001:37;3926:118;;:::o;4050:222::-;4143:4;4181:2;4170:9;4166:18;4158:26;;4194:71;4262:1;4251:9;4247:17;4238:6;4194:71;:::i;:::-;4050:222;;;;:::o;4278:619::-;4355:6;4363;4371;4420:2;4408:9;4399:7;4395:23;4391:32;4388:119;;;4426:79;;:::i;:::-;4388:119;4546:1;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4517:117;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4278:619;;;;;:::o;4903:86::-;4938:7;4978:4;4971:5;4967:16;4956:27;;4903:86;;;:::o;4995:112::-;5078:22;5094:5;5078:22;:::i;:::-;5073:3;5066:35;4995:112;;:::o;5113:214::-;5202:4;5240:2;5229:9;5225:18;5217:26;;5253:67;5317:1;5306:9;5302:17;5293:6;5253:67;:::i;:::-;5113:214;;;;:::o;5333:118::-;5420:24;5438:5;5420:24;:::i;:::-;5415:3;5408:37;5333:118;;:::o;5457:222::-;5550:4;5588:2;5577:9;5573:18;5565:26;;5601:71;5669:1;5658:9;5654:17;5645:6;5601:71;:::i;:::-;5457:222;;;;:::o;5685:329::-;5744:6;5793:2;5781:9;5772:7;5768:23;5764:32;5761:119;;;5799:79;;:::i;:::-;5761:119;5919:1;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5890:117;5685:329;;;;:::o;6020:474::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:182::-;6640:34;6636:1;6628:6;6624:14;6617:58;6500:182;:::o;6688:366::-;6830:3;6851:67;6915:2;6910:3;6851:67;:::i;:::-;6844:74;;6927:93;7016:3;6927:93;:::i;:::-;7045:2;7040:3;7036:12;7029:19;;6688:366;;;:::o;7060:419::-;7226:4;7264:2;7253:9;7249:18;7241:26;;7313:9;7307:4;7303:20;7299:1;7288:9;7284:17;7277:47;7341:131;7467:4;7341:131;:::i;:::-;7333:139;;7060:419;;;:::o;7485:164::-;7625:16;7621:1;7613:6;7609:14;7602:40;7485:164;:::o;7655:366::-;7797:3;7818:67;7882:2;7877:3;7818:67;:::i;:::-;7811:74;;7894:93;7983:3;7894:93;:::i;:::-;8012:2;8007:3;8003:12;7996:19;;7655:366;;;:::o;8027:419::-;8193:4;8231:2;8220:9;8216:18;8208:26;;8280:9;8274:4;8270:20;8266:1;8255:9;8251:17;8244:47;8308:131;8434:4;8308:131;:::i;:::-;8300:139;;8027:419;;;:::o;8452:180::-;8500:77;8497:1;8490:88;8597:4;8594:1;8587:15;8621:4;8618:1;8611:15;8638:102;8680:8;8727:5;8724:1;8720:13;8699:34;;8638:102;;;:::o;8746:848::-;8807:5;8814:4;8838:6;8829:15;;8862:5;8853:14;;8876:712;8897:1;8887:8;8884:15;8876:712;;;8992:4;8987:3;8983:14;8977:4;8974:24;8971:50;;;9001:18;;:::i;:::-;8971:50;9051:1;9041:8;9037:16;9034:451;;;9466:4;9459:5;9455:16;9446:25;;9034:451;9516:4;9510;9506:15;9498:23;;9546:32;9569:8;9546:32;:::i;:::-;9534:44;;8876:712;;;8746:848;;;;;;;:::o;9600:1073::-;9654:5;9845:8;9835:40;;9866:1;9857:10;;9868:5;;9835:40;9894:4;9884:36;;9911:1;9902:10;;9913:5;;9884:36;9980:4;10028:1;10023:27;;;;10064:1;10059:191;;;;9973:277;;10023:27;10041:1;10032:10;;10043:5;;;10059:191;10104:3;10094:8;10091:17;10088:43;;;10111:18;;:::i;:::-;10088:43;10160:8;10157:1;10153:16;10144:25;;10195:3;10188:5;10185:14;10182:40;;;10202:18;;:::i;:::-;10182:40;10235:5;;;9973:277;;10359:2;10349:8;10346:16;10340:3;10334:4;10331:13;10327:36;10309:2;10299:8;10296:16;10291:2;10285:4;10282:12;10278:35;10262:111;10259:246;;;10415:8;10409:4;10405:19;10396:28;;10450:3;10443:5;10440:14;10437:40;;;10457:18;;:::i;:::-;10437:40;10490:5;;10259:246;10530:42;10568:3;10558:8;10552:4;10549:1;10530:42;:::i;:::-;10515:57;;;;10604:4;10599:3;10595:14;10588:5;10585:25;10582:51;;;10613:18;;:::i;:::-;10582:51;10662:4;10655:5;10651:16;10642:25;;9600:1073;;;;;;:::o;10679:281::-;10737:5;10761:23;10779:4;10761:23;:::i;:::-;10753:31;;10805:25;10821:8;10805:25;:::i;:::-;10793:37;;10849:104;10886:66;10876:8;10870:4;10849:104;:::i;:::-;10840:113;;10679:281;;;;:::o;10966:410::-;11006:7;11029:20;11047:1;11029:20;:::i;:::-;11024:25;;11063:20;11081:1;11063:20;:::i;:::-;11058:25;;11118:1;11115;11111:9;11140:30;11158:11;11140:30;:::i;:::-;11129:41;;11319:1;11310:7;11306:15;11303:1;11300:22;11280:1;11273:9;11253:83;11230:139;;11349:18;;:::i;:::-;11230:139;11014:362;10966:410;;;;:::o;11382:173::-;11522:25;11518:1;11510:6;11506:14;11499:49;11382:173;:::o;11561:366::-;11703:3;11724:67;11788:2;11783:3;11724:67;:::i;:::-;11717:74;;11800:93;11889:3;11800:93;:::i;:::-;11918:2;11913:3;11909:12;11902:19;;11561:366;;;:::o;11933:419::-;12099:4;12137:2;12126:9;12122:18;12114:26;;12186:9;12180:4;12176:20;12172:1;12161:9;12157:17;12150:47;12214:131;12340:4;12214:131;:::i;:::-;12206:139;;11933:419;;;:::o;12358:223::-;12498:34;12494:1;12486:6;12482:14;12475:58;12567:6;12562:2;12554:6;12550:15;12543:31;12358:223;:::o;12587:366::-;12729:3;12750:67;12814:2;12809:3;12750:67;:::i;:::-;12743:74;;12826:93;12915:3;12826:93;:::i;:::-;12944:2;12939:3;12935:12;12928:19;;12587:366;;;:::o;12959:419::-;13125:4;13163:2;13152:9;13148:18;13140:26;;13212:9;13206:4;13202:20;13198:1;13187:9;13183:17;13176:47;13240:131;13366:4;13240:131;:::i;:::-;13232:139;;12959:419;;;:::o;13384:221::-;13524:34;13520:1;13512:6;13508:14;13501:58;13593:4;13588:2;13580:6;13576:15;13569:29;13384:221;:::o;13611:366::-;13753:3;13774:67;13838:2;13833:3;13774:67;:::i;:::-;13767:74;;13850:93;13939:3;13850:93;:::i;:::-;13968:2;13963:3;13959:12;13952:19;;13611:366;;;:::o;13983:419::-;14149:4;14187:2;14176:9;14172:18;14164:26;;14236:9;14230:4;14226:20;14222:1;14211:9;14207:17;14200:47;14264:131;14390:4;14264:131;:::i;:::-;14256:139;;13983:419;;;:::o;14408:224::-;14548:34;14544:1;14536:6;14532:14;14525:58;14617:7;14612:2;14604:6;14600:15;14593:32;14408:224;:::o;14638:366::-;14780:3;14801:67;14865:2;14860:3;14801:67;:::i;:::-;14794:74;;14877:93;14966:3;14877:93;:::i;:::-;14995:2;14990:3;14986:12;14979:19;;14638:366;;;:::o;15010:419::-;15176:4;15214:2;15203:9;15199:18;15191:26;;15263:9;15257:4;15253:20;15249:1;15238:9;15234:17;15227:47;15291:131;15417:4;15291:131;:::i;:::-;15283:139;;15010:419;;;:::o;15435:222::-;15575:34;15571:1;15563:6;15559:14;15552:58;15644:5;15639:2;15631:6;15627:15;15620:30;15435:222;:::o;15663:366::-;15805:3;15826:67;15890:2;15885:3;15826:67;:::i;:::-;15819:74;;15902:93;15991:3;15902:93;:::i;:::-;16020:2;16015:3;16011:12;16004:19;;15663:366;;;:::o;16035:419::-;16201:4;16239:2;16228:9;16224:18;16216:26;;16288:9;16282:4;16278:20;16274:1;16263:9;16259:17;16252:47;16316:131;16442:4;16316:131;:::i;:::-;16308:139;;16035:419;;;:::o;16460:228::-;16600:34;16596:1;16588:6;16584:14;16577:58;16669:11;16664:2;16656:6;16652:15;16645:36;16460:228;:::o;16694:366::-;16836:3;16857:67;16921:2;16916:3;16857:67;:::i;:::-;16850:74;;16933:93;17022:3;16933:93;:::i;:::-;17051:2;17046:3;17042:12;17035:19;;16694:366;;;:::o;17066:419::-;17232:4;17270:2;17259:9;17255:18;17247:26;;17319:9;17313:4;17309:20;17305:1;17294:9;17290:17;17283:47;17347:131;17473:4;17347:131;:::i;:::-;17339:139;;17066:419;;;:::o;17491:166::-;17631:18;17627:1;17619:6;17615:14;17608:42;17491:166;:::o;17663:366::-;17805:3;17826:67;17890:2;17885:3;17826:67;:::i;:::-;17819:74;;17902:93;17991:3;17902:93;:::i;:::-;18020:2;18015:3;18011:12;18004:19;;17663:366;;;:::o;18035:419::-;18201:4;18239:2;18228:9;18224:18;18216:26;;18288:9;18282:4;18278:20;18274:1;18263:9;18259:17;18252:47;18316:131;18442:4;18316:131;:::i;:::-;18308:139;;18035:419;;;:::o;18460:175::-;18600:27;18596:1;18588:6;18584:14;18577:51;18460:175;:::o;18641:366::-;18783:3;18804:67;18868:2;18863:3;18804:67;:::i;:::-;18797:74;;18880:93;18969:3;18880:93;:::i;:::-;18998:2;18993:3;18989:12;18982:19;;18641:366;;;:::o;19013:419::-;19179:4;19217:2;19206:9;19202:18;19194:26;;19266:9;19260:4;19256:20;19252:1;19241:9;19237:17;19230:47;19294:131;19420:4;19294:131;:::i;:::-;19286:139;;19013:419;;;:::o;19438:191::-;19478:3;19497:20;19515:1;19497:20;:::i;:::-;19492:25;;19531:20;19549:1;19531:20;:::i;:::-;19526:25;;19574:1;19571;19567:9;19560:16;;19595:3;19592:1;19589:10;19586:36;;;19602:18;;:::i;:::-;19586:36;19438:191;;;;:::o;19635:176::-;19775:28;19771:1;19763:6;19759:14;19752:52;19635:176;:::o;19817:366::-;19959:3;19980:67;20044:2;20039:3;19980:67;:::i;:::-;19973:74;;20056:93;20145:3;20056:93;:::i;:::-;20174:2;20169:3;20165:12;20158:19;;19817:366;;;:::o;20189:419::-;20355:4;20393:2;20382:9;20378:18;20370:26;;20442:9;20436:4;20432:20;20428:1;20417:9;20413:17;20406:47;20470:131;20596:4;20470:131;:::i;:::-;20462:139;;20189:419;;;:::o;20614:194::-;20654:4;20674:20;20692:1;20674:20;:::i;:::-;20669:25;;20708:20;20726:1;20708:20;:::i;:::-;20703:25;;20752:1;20749;20745:9;20737:17;;20776:1;20770:4;20767:11;20764:37;;;20781:18;;:::i;:::-;20764:37;20614:194;;;;:::o;20814:180::-;20862:77;20859:1;20852:88;20959:4;20956:1;20949:15;20983:4;20980:1;20973:15;21000:185;21040:1;21057:20;21075:1;21057:20;:::i;:::-;21052:25;;21091:20;21109:1;21091:20;:::i;:::-;21086:25;;21130:1;21120:35;;21135:18;;:::i;:::-;21120:35;21177:1;21174;21170:9;21165:14;;21000:185;;;;:::o;21191:220::-;21331:34;21327:1;21319:6;21315:14;21308:58;21400:3;21395:2;21387:6;21383:15;21376:28;21191:220;:::o;21417:366::-;21559:3;21580:67;21644:2;21639:3;21580:67;:::i;:::-;21573:74;;21656:93;21745:3;21656:93;:::i;:::-;21774:2;21769:3;21765:12;21758:19;;21417:366;;;:::o;21789:419::-;21955:4;21993:2;21982:9;21978:18;21970:26;;22042:9;22036:4;22032:20;22028:1;22017:9;22013:17;22006:47;22070:131;22196:4;22070:131;:::i;:::-;22062:139;;21789:419;;;:::o;22214:180::-;22262:77;22259:1;22252:88;22359:4;22356:1;22349:15;22383:4;22380:1;22373:15;22400:180;22448:77;22445:1;22438:88;22545:4;22542:1;22535:15;22569:4;22566:1;22559:15;22586:143;22643:5;22674:6;22668:13;22659:22;;22690:33;22717:5;22690:33;:::i;:::-;22586:143;;;;:::o;22735:351::-;22805:6;22854:2;22842:9;22833:7;22829:23;22825:32;22822:119;;;22860:79;;:::i;:::-;22822:119;22980:1;23005:64;23061:7;23052:6;23041:9;23037:22;23005:64;:::i;:::-;22995:74;;22951:128;22735:351;;;;:::o;23092:85::-;23137:7;23166:5;23155:16;;23092:85;;;:::o;23183:60::-;23211:3;23232:5;23225:12;;23183:60;;;:::o;23249:158::-;23307:9;23340:61;23358:42;23367:32;23393:5;23367:32;:::i;:::-;23358:42;:::i;:::-;23340:61;:::i;:::-;23327:74;;23249:158;;;:::o;23413:147::-;23508:45;23547:5;23508:45;:::i;:::-;23503:3;23496:58;23413:147;;:::o;23566:114::-;23633:6;23667:5;23661:12;23651:22;;23566:114;;;:::o;23686:184::-;23785:11;23819:6;23814:3;23807:19;23859:4;23854:3;23850:14;23835:29;;23686:184;;;;:::o;23876:132::-;23943:4;23966:3;23958:11;;23996:4;23991:3;23987:14;23979:22;;23876:132;;;:::o;24014:108::-;24091:24;24109:5;24091:24;:::i;:::-;24086:3;24079:37;24014:108;;:::o;24128:179::-;24197:10;24218:46;24260:3;24252:6;24218:46;:::i;:::-;24296:4;24291:3;24287:14;24273:28;;24128:179;;;;:::o;24313:113::-;24383:4;24415;24410:3;24406:14;24398:22;;24313:113;;;:::o;24462:732::-;24581:3;24610:54;24658:5;24610:54;:::i;:::-;24680:86;24759:6;24754:3;24680:86;:::i;:::-;24673:93;;24790:56;24840:5;24790:56;:::i;:::-;24869:7;24900:1;24885:284;24910:6;24907:1;24904:13;24885:284;;;24986:6;24980:13;25013:63;25072:3;25057:13;25013:63;:::i;:::-;25006:70;;25099:60;25152:6;25099:60;:::i;:::-;25089:70;;24945:224;24932:1;24929;24925:9;24920:14;;24885:284;;;24889:14;25185:3;25178:10;;24586:608;;;24462:732;;;;:::o;25200:831::-;25463:4;25501:3;25490:9;25486:19;25478:27;;25515:71;25583:1;25572:9;25568:17;25559:6;25515:71;:::i;:::-;25596:80;25672:2;25661:9;25657:18;25648:6;25596:80;:::i;:::-;25723:9;25717:4;25713:20;25708:2;25697:9;25693:18;25686:48;25751:108;25854:4;25845:6;25751:108;:::i;:::-;25743:116;;25869:72;25937:2;25926:9;25922:18;25913:6;25869:72;:::i;:::-;25951:73;26019:3;26008:9;26004:19;25995:6;25951:73;:::i;:::-;25200:831;;;;;;;;:::o;26037:177::-;26177:29;26173:1;26165:6;26161:14;26154:53;26037:177;:::o;26220:366::-;26362:3;26383:67;26447:2;26442:3;26383:67;:::i;:::-;26376:74;;26459:93;26548:3;26459:93;:::i;:::-;26577:2;26572:3;26568:12;26561:19;;26220:366;;;:::o;26592:419::-;26758:4;26796:2;26785:9;26781:18;26773:26;;26845:9;26839:4;26835:20;26831:1;26820:9;26816:17;26809:47;26873:131;26999:4;26873:131;:::i;:::-;26865:139;;26592:419;;;:::o
Swarm Source
ipfs://11cbc8baddaed8bcd38d4e10106a6145803a5c835e8bae4988321d197848ed6a
Loading...
Loading
Loading...
Loading
OVERVIEW
TaikoSwap is a DEX forked from UniswapV2 and deployed on the Taiko network.Loading...
Loading
Net Worth in USD
$3.44
Net Worth in ETH
Token Allocations
TKOSWAP
100.00%
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| TAIKO | 100.00% | $0.010481 | 328.5041 | $3.44 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.