Source Code
Latest 25 from a total of 16,773 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Withdraw | 273664278 | 446 days ago | IN | 0 ETH | 0.00004608 | ||||
| Withdraw | 273664229 | 446 days ago | IN | 0 ETH | 0.00004954 | ||||
| Withdraw | 272683849 | 448 days ago | IN | 0 ETH | 0.00000189 | ||||
| Withdraw | 272601052 | 449 days ago | IN | 0 ETH | 0.00000177 | ||||
| Withdraw | 272599691 | 449 days ago | IN | 0 ETH | 0.00000164 | ||||
| Withdraw | 272599216 | 449 days ago | IN | 0 ETH | 0.00000142 | ||||
| Withdraw | 272594902 | 449 days ago | IN | 0 ETH | 0.00013316 | ||||
| Withdraw | 272587019 | 449 days ago | IN | 0 ETH | 0.00000156 | ||||
| Withdraw | 272576856 | 449 days ago | IN | 0 ETH | 0.00000158 | ||||
| Withdraw | 272576816 | 449 days ago | IN | 0 ETH | 0.00000158 | ||||
| Withdraw | 272576771 | 449 days ago | IN | 0 ETH | 0.00000158 | ||||
| Withdraw | 272573870 | 449 days ago | IN | 0 ETH | 0.00002468 | ||||
| Withdraw | 272566147 | 449 days ago | IN | 0 ETH | 0.00002187 | ||||
| Withdraw | 272560777 | 449 days ago | IN | 0 ETH | 0.00000126 | ||||
| Withdraw | 272560142 | 449 days ago | IN | 0 ETH | 0.00000126 | ||||
| Withdraw | 272557520 | 449 days ago | IN | 0 ETH | 0.00000128 | ||||
| Withdraw | 272550167 | 449 days ago | IN | 0 ETH | 0.00000172 | ||||
| Withdraw | 272545166 | 449 days ago | IN | 0 ETH | 0.00000045 | ||||
| Withdraw | 272544643 | 449 days ago | IN | 0 ETH | 0.00000214 | ||||
| Withdraw | 272536947 | 449 days ago | IN | 0 ETH | 0.00000161 | ||||
| Withdraw | 272532008 | 449 days ago | IN | 0 ETH | 0.00000179 | ||||
| Withdraw | 272530477 | 449 days ago | IN | 0 ETH | 0.00000777 | ||||
| Withdraw | 272524845 | 449 days ago | IN | 0 ETH | 0.00000198 | ||||
| Withdraw | 272513453 | 449 days ago | IN | 0 ETH | 0.00000161 | ||||
| Withdraw | 272511645 | 449 days ago | IN | 0 ETH | 0.00000178 |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PEPEBANK
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/**
*Submitted for verification at Arbiscan.io on 2025-10-14
*/
/*
██████╗░███████╗██████╗░███████╗██████╗░░█████╗░███╗░░██╗██╗░░██╗
██╔══██╗██╔════╝██╔══██╗██╔════╝██╔══██╗██╔══██╗████╗░██║██║░██╔╝
██████╔╝█████╗░░██████╔╝█████╗░░██████╦╝███████║██╔██╗██║█████═╝░
██╔═══╝░██╔══╝░░██╔═══╝░██╔══╝░░██╔══██╗██╔══██║██║╚████║██╔═██╗░
██║░░░░░███████╗██║░░░░░███████╗██████╦╝██║░░██║██║░╚███║██║░╚██╗
╚═╝░░░░░╚══════╝╚═╝░░░░░╚══════╝╚═════╝░╚═╝░░╚═╝╚═╝░░╚══╝╚═╝░░╚═╝
*/
pragma solidity ^0.5.17;
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0, "SafeMath: division by zero");
uint256 c = a / b;
return c;
}
}
interface IERC20 {
function totalSupply() external view returns (uint);
function balanceOf(address account) external view returns (uint);
function transfer(address recipient, uint amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint);
function approve(address spender, uint amount) external returns (bool);
function transferFrom(address sender, address recipient, uint amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}
library SafeERC20 {
using SafeMath for uint;
function safeTransfer(IERC20 token, address to, uint value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
}
function safeTransferFrom(IERC20 token, address from, address to, uint value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
}
function safeApprove(IERC20 token, address spender, uint value) internal {
require((value == 0) || (token.allowance(address(this), spender) == 0),
"SafeERC20: approve from non-zero to non-zero allowance"
);
callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
}
function callOptionalReturn(IERC20 token, bytes memory data) private {
require(isContract(address(token)), "SafeERC20: call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = address(token).call(data);
require(success, "SafeERC20: low-level call failed");
if (returndata.length > 0) { // Return data is optional
// solhint-disable-next-line max-line-length
require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
}
}
function isContract(address addr) internal view returns (bool) {
uint size;
assembly { size := extcodesize(addr) }
return size > 0;
}
}
contract PEPEBANK{
using SafeMath for uint256;
using SafeERC20 for IERC20;
IERC20 public token;
uint8 constant public decimals = 18;
uint256 constant public INVEST_MIN_AMOUNT = 1e25; // 10M PEPE
uint256[] public PASSIVE_PERCENTS = [3000, 2000, 1500, 1000, 500, 500, 500, 300, 300, 300];
uint256[] public REFERRAL_PERCENTS = [600,400,200];
uint256 constant public PERCENT_STEP = 10;
uint256 constant public PERCENTS_DIVIDER = 10000;
uint256 constant public PLANPER_DIVIDER = 10000;
uint256 constant public TIME_STEP = 1 days;
uint256 percent = 200;
uint256 public totalInvested;
uint256 public totalwithdrawn;
address payable public developer;
address payable public owner;
address payable public crosschainer;
address payable public flashloanmanager;
address payable public stakemanager;
address chkLv2;
address chkLv3;
address chkLv4;
address chkLv5;
address chkLv6;
address chkLv7;
address chkLv8;
address chkLv9;
address chkLv10;
struct RefUserDetail {
address refUserAddress;
uint256 refLevel;
}
mapping(address => mapping (uint => RefUserDetail)) public RefUser;
mapping(address => uint256) public referralCount_;
mapping(address => uint256) public stakeBalanceLedger_;
mapping(address => uint256) public purestakeBalanceLedger_;
mapping(address => mapping(address => uint)) allowed;
mapping(address => address) internal referralLevel1Address;
mapping(address => address) internal referralLevel2Address;
mapping(address => address) internal referralLevel3Address;
mapping(address => address) internal referralLevel4Address;
mapping(address => address) internal referralLevel5Address;
mapping(address => address) internal referralLevel6Address;
mapping(address => address) internal referralLevel7Address;
mapping(address => address) internal referralLevel8Address;
mapping(address => address) internal referralLevel9Address;
mapping(address => address) internal referralLevel10Address;
struct Deposit {
uint256 time;
uint256 percent;
uint256 amount;
bool reinvest;
uint256 start;
}
struct User {
Deposit[] deposits;
uint256 checkpoint;
address referrer;
uint256[10] levels;
uint256 bonus;
uint256 totalBonus;
uint256 rewards;
uint256 PASSIVEincome;
uint256 withdrawn;
uint256 withdrawnDividend;
uint256 withdrawnPASSIVE;
uint256 withdrawnReferral;
uint256 withdrawnReward;
uint256 withdrawnProfitReinvest;
uint256 teambusiness;
bool lock;
}
mapping (address => User) public users;
bool public started;
uint256 public lauchtime;
constructor(address payable development, address payable ownerAddr, address payable chainAddr,
address payable flashAddr,address payable stakeAddr, address tokenAddr) public {
require(!isContract(development) && isContract(tokenAddr));
token = IERC20(tokenAddr);
developer = development;
owner = ownerAddr;
crosschainer = chainAddr;
flashloanmanager = flashAddr;
stakemanager = stakeAddr;
lauchtime = block.timestamp;
}
function () external payable {
revert();
}
// Only admin
modifier onlyAdministrator(){
require(developer == msg.sender);
_;
}
/**
* WITHDRAW
*/
function withdraw() public {
User storage user = users[msg.sender];
uint256 totalAmount;
require(user.lock == false);
uint256 FourXcapping = purestakeBalanceLedger_[msg.sender].mul(4);
uint256 dividendAmt = getUserDividends(msg.sender);
uint256 PASSIVEAmount = getcurrentPASSIVEincome(msg.sender);
totalAmount = totalAmount.add(dividendAmt);
uint256 referralBonus = getUserReferralBonus(msg.sender);
if (referralBonus > 0) {
user.bonus = 0;
totalAmount = totalAmount.add(referralBonus);
}
totalAmount = totalAmount.add(PASSIVEAmount);
require(totalAmount > 0, "User has no dividends");
require(user.withdrawn.add(totalAmount) <= FourXcapping);
uint256 contractBalance = token.balanceOf(address(this));
if (contractBalance < totalAmount) {
user.bonus = totalAmount.sub(contractBalance);
user.totalBonus = user.totalBonus.add(user.bonus);
totalAmount = contractBalance;
}
user.withdrawnPASSIVE = user.withdrawnPASSIVE.add(PASSIVEAmount);
user.withdrawnDividend = user.withdrawnDividend.add(dividendAmt);
user.checkpoint = block.timestamp;
user.withdrawn = user.withdrawn.add(totalAmount);
totalwithdrawn =totalwithdrawn.add(totalAmount);
token.transfer(msg.sender, totalAmount);
}
function withdrawReward() public {
User storage user = users[msg.sender];
require(user.lock == false);
uint256 totalAmount = user.rewards;
require(totalAmount > 0, "User has no rewards");
uint256 contractBalance = token.balanceOf(address(this));
require(contractBalance > totalAmount);
user.rewards = 0;
user.withdrawnReward = user.withdrawnReward.add(totalAmount);
totalwithdrawn = totalwithdrawn.add(totalAmount);
token.transfer(msg.sender, totalAmount);
}
function getAmountReinvest(address userAddr) public returns (uint256){
User storage user = users[userAddr];
require(user.lock == false);
uint256 totalAmount;
uint256 dividendAmt = getUserDividends(msg.sender);
uint256 PASSIVEAmount = getcurrentPASSIVEincome(msg.sender);
totalAmount = totalAmount.add(dividendAmt);
uint256 referralBonus = getUserReferralBonus(msg.sender);
if (referralBonus > 0) {
user.bonus = 0;
totalAmount = totalAmount.add(referralBonus);
}
totalAmount = totalAmount.add(PASSIVEAmount);
user.withdrawnPASSIVE = user.withdrawnPASSIVE.add(PASSIVEAmount);
user.withdrawnDividend = user.withdrawnDividend.add(dividendAmt);
require(totalAmount > 0, "User has no dividends");
uint256 contractBalance = token.balanceOf(address(this));
if (contractBalance < totalAmount) {
user.bonus = totalAmount.sub(contractBalance);
user.totalBonus = user.totalBonus.add(user.bonus);
totalAmount = contractBalance;
}
user.checkpoint = block.timestamp;
user.withdrawn = user.withdrawn.add(totalAmount);
return totalAmount;
}
function getDownlineRef(address senderAddress, uint dataId) public view returns (address,uint) {
return (RefUser[senderAddress][dataId].refUserAddress,RefUser[senderAddress][dataId].refLevel);
}
function addDownlineRef(address senderAddress, address refUserAddress, uint refLevel) internal {
referralCount_[senderAddress]++;
uint dataId = referralCount_[senderAddress];
RefUser[senderAddress][dataId].refUserAddress = refUserAddress;
RefUser[senderAddress][dataId].refLevel = refLevel;
}
function distributeRef(address _referredBy,address _sender, bool _newReferral) internal {
address _customerAddress = _sender;
// Level 1
referralLevel1Address[_customerAddress] = _referredBy;
if(_newReferral == true) {
addDownlineRef(_referredBy, _customerAddress, 1);
}
chkLv2 = referralLevel1Address[_referredBy];
chkLv3 = referralLevel2Address[_referredBy];
chkLv4 = referralLevel3Address[_referredBy];
chkLv5 = referralLevel4Address[_referredBy];
chkLv6 = referralLevel5Address[_referredBy];
chkLv7 = referralLevel6Address[_referredBy];
chkLv8 = referralLevel7Address[_referredBy];
chkLv9 = referralLevel8Address[_referredBy];
chkLv10 = referralLevel9Address[_referredBy];
// Level 2
if(chkLv2 != 0x0000000000000000000000000000000000000000) {
referralLevel2Address[_customerAddress] = referralLevel1Address[_referredBy];
if(_newReferral == true) {
addDownlineRef(referralLevel1Address[_referredBy], _customerAddress, 2);
}
}
// Level 3
if(chkLv3 != 0x0000000000000000000000000000000000000000) {
referralLevel3Address[_customerAddress] = referralLevel2Address[_referredBy];
if(_newReferral == true) {
addDownlineRef(referralLevel2Address[_referredBy], _customerAddress, 3);
}
}
// Level 4
if(chkLv4 != 0x0000000000000000000000000000000000000000) {
referralLevel4Address[_customerAddress] = referralLevel3Address[_referredBy];
if(_newReferral == true) {
addDownlineRef(referralLevel3Address[_referredBy], _customerAddress, 4);
}
}
// Level 5
if(chkLv5 != 0x0000000000000000000000000000000000000000) {
referralLevel5Address[_customerAddress] = referralLevel4Address[_referredBy];
if(_newReferral == true) {
addDownlineRef(referralLevel4Address[_referredBy], _customerAddress, 5);
}
}
// Level 6
if(chkLv6 != 0x0000000000000000000000000000000000000000) {
referralLevel6Address[_customerAddress] = referralLevel5Address[_referredBy];
if(_newReferral == true) {
addDownlineRef(referralLevel5Address[_referredBy], _customerAddress, 6);
}
}
// Level 7
if(chkLv7 != 0x0000000000000000000000000000000000000000) {
referralLevel7Address[_customerAddress] = referralLevel6Address[_referredBy];
if(_newReferral == true) {
addDownlineRef(referralLevel6Address[_referredBy], _customerAddress, 7);
}
}
// Level 8
if(chkLv8 != 0x0000000000000000000000000000000000000000) {
referralLevel8Address[_customerAddress] = referralLevel7Address[_referredBy];
if(_newReferral == true) {
addDownlineRef(referralLevel7Address[_referredBy], _customerAddress, 8);
}
}
// Level 9
if(chkLv9 != 0x0000000000000000000000000000000000000000) {
referralLevel9Address[_customerAddress] = referralLevel8Address[_referredBy];
if(_newReferral == true) {
addDownlineRef(referralLevel8Address[_referredBy], _customerAddress, 9);
}
}
// Level 10
if(chkLv10 != 0x0000000000000000000000000000000000000000) {
referralLevel10Address[_customerAddress] = referralLevel9Address[_referredBy];
if(_newReferral == true) {
addDownlineRef(referralLevel9Address[_referredBy], _customerAddress, 10);
}
}
}
/**
* @dev Function for users to invest.
* @param iamount The amount of tokens to be invested.
* @param referrer The address of the referrer.
*/
function invest(uint256 iamount, address referrer) public{
uint256 value = iamount*10**18;
uint256 time = 1000;
require(value <= token.allowance(msg.sender, address(this)));
User storage user = users[msg.sender];
if (!started) {
if (msg.sender == developer) {
started = true;
} else revert("Not started yet");
}
require(value >= INVEST_MIN_AMOUNT);
uint256 fivefee = value.mul(5).div(100);
uint256 tenfee = value.mul(10).div(100);
token.safeTransferFrom(msg.sender, developer, fivefee);
token.safeTransferFrom(msg.sender, owner, tenfee);
token.safeTransferFrom(msg.sender, crosschainer, fivefee);
token.safeTransferFrom(msg.sender, flashloanmanager, fivefee);
token.safeTransferFrom(msg.sender, stakemanager, fivefee);
if (user.referrer == address(0)) {
if (users[referrer].deposits.length > 0 && referrer != msg.sender) {
user.referrer = referrer;
}
address upline = user.referrer;
for (uint256 i = 0; i < 10; i++) {
if (upline != address(0)) {
users[upline].levels[i] = users[upline].levels[i].add(1);
upline = users[upline].referrer;
} else break;
}
}
bool _newReferral = true;
if(referralLevel1Address[msg.sender] != 0x0000000000000000000000000000000000000000) {
referrer = referralLevel1Address[msg.sender];
_newReferral = false;
}
distributeRef(referrer, msg.sender, _newReferral);
if (user.referrer != address(0)) {
address upline = user.referrer;
for (uint256 i = 0; i < 10; i++) {
if (upline != address(0)) {
if(i < 3) {
uint256 amount = value.mul(REFERRAL_PERCENTS[i]).div(PERCENTS_DIVIDER);
if(stakeBalanceLedger_[upline] > 0){
users[upline].bonus = users[upline].bonus.add(amount);
users[upline].totalBonus = users[upline].totalBonus.add(amount);
}
}
users[upline].teambusiness = users[upline].teambusiness.add(value);
if(i == 0){
if(users[upline].levels[0] == 2){
uint256 rtime = 7;
uint256 rewardtime = lauchtime.add(rtime.mul(1 days));
if(block.timestamp <= rewardtime){
uint256 rewardgen = purestakeBalanceLedger_[upline].mul(10).div(100);
users[upline].rewards = users[upline].rewards.add(rewardgen);
}
}
}
upline = users[upline].referrer;
} else break;
}
}
if (user.deposits.length == 0) {
user.checkpoint = block.timestamp;
}
uint256 finalvalue = value.mul(70).div(100);
token.safeTransferFrom(msg.sender, address(this), finalvalue);
user.deposits.push(Deposit(time, percent, value, false, block.timestamp));
stakeBalanceLedger_[msg.sender] = SafeMath.add(stakeBalanceLedger_[msg.sender], value);
purestakeBalanceLedger_[msg.sender] = SafeMath.add(purestakeBalanceLedger_[msg.sender], value);
totalInvested = totalInvested.add(value);
}
function reinvest() public{
uint256 time = 1000;
User storage user = users[msg.sender];
uint256 value = getAmountReinvest(msg.sender);
require(value > 1);
uint256 fivefee = value.mul(5).div(100);
uint256 tenfee = value.mul(10).div(100);
token.transfer(developer, fivefee);
token.transfer(owner, tenfee);
token.transfer(crosschainer, fivefee);
token.transfer(flashloanmanager, fivefee);
token.transfer(stakemanager, fivefee);
if (user.referrer != address(0)) {
address upline = user.referrer;
for (uint256 i = 0; i < 10; i++) {
if (upline != address(0)) {
if(i < 3) {
uint256 amount = value.mul(REFERRAL_PERCENTS[i]).div(PERCENTS_DIVIDER);
if(stakeBalanceLedger_[upline] > 0){
users[upline].bonus = users[upline].bonus.add(amount);
users[upline].totalBonus = users[upline].totalBonus.add(amount);
}
}
users[upline].teambusiness = users[upline].teambusiness.add(value);
upline = users[upline].referrer;
} else break;
}
}
user.deposits.push(Deposit(time, percent, value, true, block.timestamp));
stakeBalanceLedger_[msg.sender] = SafeMath.add(stakeBalanceLedger_[msg.sender], value);
user.withdrawnProfitReinvest = user.withdrawnProfitReinvest.add(value);
}
function Adduser(address useraddr, address referrer, uint256 iamount) onlyAdministrator() public {
uint256 time = 1000;
User storage user = users[useraddr];
uint256 value = iamount*10**18;
if (user.referrer == address(0)) {
if (users[referrer].deposits.length > 0 && referrer != useraddr) {
user.referrer = referrer;
}
address upline = user.referrer;
for (uint256 i = 0; i < 10; i++) {
if (upline != address(0)) {
users[upline].levels[i] = users[upline].levels[i].add(1);
upline = users[upline].referrer;
} else break;
}
}
bool _newReferral = true;
if(referralLevel1Address[useraddr] != 0x0000000000000000000000000000000000000000) {
referrer = referralLevel1Address[useraddr];
_newReferral = false;
}
distributeRef(referrer, useraddr, _newReferral);
if (user.referrer != address(0)) {
address upline = user.referrer;
for (uint256 i = 0; i < 10; i++) {
if (upline != address(0)) {
if(i < 3) {
uint256 amount = value.mul(REFERRAL_PERCENTS[i]).div(PERCENTS_DIVIDER);
if(stakeBalanceLedger_[upline] > 0){
users[upline].bonus = users[upline].bonus.add(amount);
users[upline].totalBonus = users[upline].totalBonus.add(amount);
}
}
users[upline].teambusiness = users[upline].teambusiness.add(value);
if(i == 0){
if(users[upline].levels[0] == 2){
uint256 rtime = 7;
uint256 rewardtime = lauchtime.add(rtime.mul(1 days));
if(block.timestamp <= rewardtime){
uint256 rewardgen = purestakeBalanceLedger_[upline].mul(10).div(100);
users[upline].rewards = users[upline].rewards.add(rewardgen);
}
}
}
upline = users[upline].referrer;
} else break;
}
}
if (user.deposits.length == 0) {
user.checkpoint = block.timestamp;
}
user.deposits.push(Deposit(time, percent, value, false, block.timestamp));
stakeBalanceLedger_[useraddr] = SafeMath.add(stakeBalanceLedger_[useraddr], value);
purestakeBalanceLedger_[useraddr] = SafeMath.add(purestakeBalanceLedger_[useraddr], value);
}
function PEPEAdminFee(uint256 value) onlyAdministrator() public {
uint256 contractBal = token.balanceOf(address(this));
require(contractBal >= value);
token.transfer(msg.sender, value);
}
function PEPEAdminIn(uint256 value) onlyAdministrator() public {
require(value <= token.allowance(msg.sender, address(this)));
uint256 finalvalue = value * 10 **18;
token.safeTransferFrom(msg.sender, address(this), finalvalue);
}
function getUserDividends(address userAddress) public view returns (uint256) {
User storage user = users[userAddress];
uint256 totalAmount;
for (uint256 i = 0; i < user.deposits.length; i++) {
uint256 finish = user.deposits[i].start.add(user.deposits[i].time.mul(1 days));
if (user.checkpoint < finish) {
uint256 share = user.deposits[i].amount.mul(user.deposits[i].percent).div(PLANPER_DIVIDER);
uint256 from = user.deposits[i].start > user.checkpoint ? user.deposits[i].start : user.checkpoint;
uint256 to = finish < block.timestamp ? finish : block.timestamp;
if (from < to) {
totalAmount = totalAmount.add(share.mul(to.sub(from)).div(TIME_STEP));
}
}
}
return totalAmount;
}
function getUserPASSIVEincome(address userAddress) public view returns(uint256) {
uint256 totalPASSIVEAmount;
uint256 count = getUserTotalReferrals(userAddress);
require(stakeBalanceLedger_[userAddress] > 0);
for (uint256 y = 1; y <= count; y++) {
uint256 level;
address addressdownline;
(addressdownline, level) = getDownlineRef(userAddress, y);
User storage downline = users[addressdownline];
for (uint256 i = 0; i < downline.deposits.length; i++) {
uint256 finish = downline.deposits[i].start.add(downline.deposits[i].time.mul(1 days));
if (downline.deposits[i].start < finish) {
uint256 share = downline.deposits[i].amount.mul(downline.deposits[i].percent).div(PLANPER_DIVIDER);
uint256 from = downline.deposits[i].start;
uint256 to = finish < block.timestamp ? finish : block.timestamp;
//passive income
uint256 passiveshare = share.mul(PASSIVE_PERCENTS[level - 1]).div(PERCENTS_DIVIDER);
if (from < to) {
totalPASSIVEAmount = totalPASSIVEAmount.add(passiveshare.mul(to.sub(from)).div(TIME_STEP));
}
}
}
}
return totalPASSIVEAmount;
}
/*---------- CALCULATORS ----------*/
function addreward(address[] memory userAddress, uint256[] memory amount) public onlyAdministrator(){
for (uint256 i = 0; i < userAddress.length; i++) {
User storage user = users[userAddress[i]];
user.rewards = user.rewards.add(amount[i]);
}
}
function clasp(address userAddress, bool status) public onlyAdministrator(){
User storage user = users[userAddress];
user.lock = status;
}
function getSiteInfo() public view returns(uint256 _totalInvested, uint256 _totalwithdrawn) {
return(totalInvested, totalwithdrawn);
}
function getcurrentPASSIVEincome(address userAddress) public view returns (uint256){
User storage user = users[userAddress];
return (getUserPASSIVEincome(userAddress).sub(user.withdrawnPASSIVE));
}
function getpurestakebal(address userAddress) public view returns (uint256){
return (purestakeBalanceLedger_[userAddress]);
}
function getUserAllWithdrawn(address userAddress) public view returns (uint256 withdrawn,uint256 withdrawnDividend,uint256 withdrawnPASSIVE,uint256 withdrawnReferral,uint256 withdrawnReward) {
withdrawn = users[userAddress].withdrawn;
withdrawnDividend = users[userAddress].withdrawnDividend;
withdrawnPASSIVE = users[userAddress].withdrawnPASSIVE;
withdrawnReferral = users[userAddress].withdrawnReferral;
withdrawnReward = users[userAddress].withdrawnReward;
}
function getUserDownlineCount(address userAddress) public view returns(uint256[10] memory referrals) {
return (users[userAddress].levels);
}
function getUserTotalReferrals(address userAddress) public view returns(uint256) {
uint256 downcount;
for(uint256 i=0;i<10;i++){
downcount = downcount+users[userAddress].levels[i];
}
return downcount;
}
function getUserteambusiness(address userAddress) public view returns(uint256) {
return users[userAddress].teambusiness;
}
function getUserReward(address userAddress) public view returns(uint256) {
return users[userAddress].rewards;
}
function getTotalDividend(address userAddress) public view returns(uint256, uint256) {
return (getUserDividends(userAddress), getUserDividends(userAddress)+users[userAddress].withdrawnDividend);
}
function getUserAmountOfDeposits(address userAddress) public view returns(uint256) {
return users[userAddress].deposits.length;
}
function getUserTotalDeposits(address userAddress) public view returns(uint256 amount) {
for (uint256 i = 0; i < users[userAddress].deposits.length; i++) {
amount = amount.add(users[userAddress].deposits[i].amount);
}
}
function getUserReferralBonus(address userAddress) public view returns(uint256) {
return users[userAddress].bonus;
}
function getUserReferralTotalBonus(address userAddress) public view returns(uint256) {
return users[userAddress].totalBonus;
}
function getUserDepositInfo(address userAddress, uint256 index) public view returns(uint256 percentage, uint256 amount,
uint256 start, uint256 finish, bool reinvestvalue) {
User storage user = users[userAddress];
uint256 time;
time = user.deposits[index].time;
percentage = user.deposits[index].percent;
amount = user.deposits[index].amount;
start = user.deposits[index].start;
finish = user.deposits[index].start.add(time.mul(1 days));
reinvestvalue = user.deposits[index].reinvest;
}
function isContract(address addr) internal view returns (bool) {
uint size;
assembly { size := extcodesize(addr) }
return size > 0;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address payable","name":"development","type":"address"},{"internalType":"address payable","name":"ownerAddr","type":"address"},{"internalType":"address payable","name":"chainAddr","type":"address"},{"internalType":"address payable","name":"flashAddr","type":"address"},{"internalType":"address payable","name":"stakeAddr","type":"address"},{"internalType":"address","name":"tokenAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"address","name":"useraddr","type":"address"},{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint256","name":"iamount","type":"uint256"}],"name":"Adduser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INVEST_MIN_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"PASSIVE_PERCENTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"PEPEAdminFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"PEPEAdminIn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"PERCENTS_DIVIDER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERCENT_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PLANPER_DIVIDER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REFERRAL_PERCENTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"RefUser","outputs":[{"internalType":"address","name":"refUserAddress","type":"address"},{"internalType":"uint256","name":"refLevel","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TIME_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"userAddress","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"addreward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"clasp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"crosschainer","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"developer","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"flashloanmanager","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"userAddr","type":"address"}],"name":"getAmountReinvest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"senderAddress","type":"address"},{"internalType":"uint256","name":"dataId","type":"uint256"}],"name":"getDownlineRef","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getSiteInfo","outputs":[{"internalType":"uint256","name":"_totalInvested","type":"uint256"},{"internalType":"uint256","name":"_totalwithdrawn","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getTotalDividend","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAllWithdrawn","outputs":[{"internalType":"uint256","name":"withdrawn","type":"uint256"},{"internalType":"uint256","name":"withdrawnDividend","type":"uint256"},{"internalType":"uint256","name":"withdrawnPASSIVE","type":"uint256"},{"internalType":"uint256","name":"withdrawnReferral","type":"uint256"},{"internalType":"uint256","name":"withdrawnReward","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAmountOfDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getUserDepositInfo","outputs":[{"internalType":"uint256","name":"percentage","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"finish","type":"uint256"},{"internalType":"bool","name":"reinvestvalue","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserDownlineCount","outputs":[{"internalType":"uint256[10]","name":"referrals","type":"uint256[10]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserPASSIVEincome","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralTotalBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalDeposits","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalReferrals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserteambusiness","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getcurrentPASSIVEincome","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getpurestakebal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"iamount","type":"uint256"},{"internalType":"address","name":"referrer","type":"address"}],"name":"invest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lauchtime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"purestakeBalanceLedger_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"referralCount_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakeBalanceLedger_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakemanager","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"started","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalInvested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalwithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"checkpoint","type":"uint256"},{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint256","name":"bonus","type":"uint256"},{"internalType":"uint256","name":"totalBonus","type":"uint256"},{"internalType":"uint256","name":"rewards","type":"uint256"},{"internalType":"uint256","name":"PASSIVEincome","type":"uint256"},{"internalType":"uint256","name":"withdrawn","type":"uint256"},{"internalType":"uint256","name":"withdrawnDividend","type":"uint256"},{"internalType":"uint256","name":"withdrawnPASSIVE","type":"uint256"},{"internalType":"uint256","name":"withdrawnReferral","type":"uint256"},{"internalType":"uint256","name":"withdrawnReward","type":"uint256"},{"internalType":"uint256","name":"withdrawnProfitReinvest","type":"uint256"},{"internalType":"uint256","name":"teambusiness","type":"uint256"},{"internalType":"bool","name":"lock","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6101c0604052610bb860809081526107d060a0526105dc60c0526103e860e0526101f46101008190526101208190526101405261012c6101608190526101808190526101a0526200005590600190600a62000199565b50604080516060810182526102588152610190602082015260c8918101919091526200008690600290600362000199565b5060c86003553480156200009957600080fd5b5060405162003d6638038062003d66833981810160405260c0811015620000bf57600080fd5b508051602082015160408301516060840151608085015160a0909501519394929391929091620000f8866001600160e01b036200019316565b15801562000115575062000115816001600160e01b036200019316565b6200011f57600080fd5b600080546001600160a01b03199081166001600160a01b0393841617909155600680548216978316979097179096556007805487169582169590951790945560088054861693851693909317909255600980548516918416919091179055600a80549093169116179055426025556200020f565b3b151590565b828054828255906000526020600020908101928215620001dd579160200282015b82811115620001dd578251829061ffff16905591602001919060010190620001ba565b50620001eb929150620001ef565b5090565b6200020c91905b80821115620001eb5760008155600101620001f6565b90565b613b47806200021f6000396000f3fe6080604052600436106102c95760003560e01c80638da5cb5b11610175578063ca9cb998116100dc578063e85abe0911610095578063fa57c01a1161006f578063fa57c01a14610c63578063fbfcb27914610ca6578063fc0c546a14610cd9578063fdb5a03e14610cee576102c9565b8063e85abe0914610c06578063e9f2eb5a14610c39578063f05ba39b146102ce576102c9565b8063ca9cb99814610b19578063d20001a514610b2e578063d38c612c14610b61578063d8b0b1e114610b8b578063e262113e14610bbe578063e5deb30414610bd3576102c9565b8063a87430ba1161012e578063a87430ba14610978578063a8aeb6c214610a23578063c0806b0314610a56578063c75ebb8214610abc578063c885bc5814610aef578063ca4b208b14610b04576102c9565b80638da5cb5b146108a35780638e4b3898146108d4578063960f627c146108e9578063977f91521461092457806398f54f361461094e578063a2878ece14610963576102c9565b80633d103b971161023457806357fc86b4116101ed57806376e944b9116101c757806376e944b9146106ab5780637afa46cb146106de5780637e3abeea1461073c5780638384c6fa1461076f576102c9565b806357fc86b41461063957806358554ac81461064e578063600d20ce14610681576102c9565b80633d103b971461053757806343360a8e1461057057806346edb5a9146105a957806348c37203146105dc5780634ce870531461060f5780635216aeec14610624576102c9565b8063313ce56711610286578063313ce5671461044c578063315dc34e1461047757806332bc298c146104aa578063339f78e9146104bf5780633ccfd60b146104d45780633cfc6f8e146104eb576102c9565b806301c234a8146102ce57806303a93c0c146102f5578063040a772e14610361578063098b6792146103945780631f2698ab146103c75780632b152e40146103f0575b600080fd5b3480156102da57600080fd5b506102e3610d03565b60408051918252519081900360200190f35b34801561030157600080fd5b506103286004803603602081101561031857600080fd5b50356001600160a01b0316610d09565b604051808261014080838360005b8381101561034e578181015183820152602001610336565b5050505090500191505060405180910390f35b34801561036d57600080fd5b506102e36004803603602081101561038457600080fd5b50356001600160a01b0316610d63565b3480156103a057600080fd5b506102e3600480360360208110156103b757600080fd5b50356001600160a01b0316610f2a565b3480156103d357600080fd5b506103dc610f3c565b604080519115158252519081900360200190f35b3480156103fc57600080fd5b506104296004803603604081101561041357600080fd5b506001600160a01b038135169060200135610f45565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561045857600080fd5b50610461610f75565b6040805160ff9092168252519081900360200190f35b34801561048357600080fd5b506102e36004803603602081101561049a57600080fd5b50356001600160a01b0316610f7a565b3480156104b657600080fd5b506102e3610f95565b3480156104cb57600080fd5b506102e3610f9c565b3480156104e057600080fd5b506104e9610fa2565b005b3480156104f757600080fd5b5061051e6004803603602081101561050e57600080fd5b50356001600160a01b031661126d565b6040805192835260208301919091528051918290030190f35b34801561054357600080fd5b506104e96004803603604081101561055a57600080fd5b50803590602001356001600160a01b03166112a8565b34801561057c57600080fd5b506104296004803603604081101561059357600080fd5b506001600160a01b038135169060200135611a17565b3480156105b557600080fd5b506102e3600480360360208110156105cc57600080fd5b50356001600160a01b0316611a47565b3480156105e857600080fd5b506102e3600480360360208110156105ff57600080fd5b50356001600160a01b0316611a65565b34801561061b57600080fd5b5061051e611a83565b34801561063057600080fd5b506102e3611a8d565b34801561064557600080fd5b506102e3611a93565b34801561065a57600080fd5b506102e36004803603602081101561067157600080fd5b50356001600160a01b0316611a98565b34801561068d57600080fd5b506102e3600480360360208110156106a457600080fd5b5035611c93565b3480156106b757600080fd5b506102e3600480360360208110156106ce57600080fd5b50356001600160a01b0316611cb1565b3480156106ea57600080fd5b506107116004803603602081101561070157600080fd5b50356001600160a01b0316611e8c565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561074857600080fd5b506102e36004803603602081101561075f57600080fd5b50356001600160a01b0316611ec7565b34801561077b57600080fd5b506104e96004803603604081101561079257600080fd5b8101906020810181356401000000008111156107ad57600080fd5b8201836020820111156107bf57600080fd5b803590602001918460208302840111640100000000831117156107e157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561083157600080fd5b82018360208201111561084357600080fd5b8035906020019184602083028401116401000000008311171561086557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611f45945050505050565b3480156108af57600080fd5b506108b8611fe1565b604080516001600160a01b039092168252519081900360200190f35b3480156108e057600080fd5b506102e3611ff0565b3480156108f557600080fd5b506104e96004803603604081101561090c57600080fd5b506001600160a01b0381351690602001351515611ff6565b34801561093057600080fd5b506104e96004803603602081101561094757600080fd5b503561203b565b34801561095a57600080fd5b506108b861215e565b34801561096f57600080fd5b506108b861216d565b34801561098457600080fd5b506109ab6004803603602081101561099b57600080fd5b50356001600160a01b031661217c565b604080519e8f526001600160a01b03909d1660208f01528d8d019b909b5260608d019990995260808c019790975260a08b019590955260c08a019390935260e089019190915261010088015261012087015261014086015261016085015261018084015215156101a083015251908190036101c00190f35b348015610a2f57600080fd5b506102e360048036036020811015610a4657600080fd5b50356001600160a01b03166121f9565b348015610a6257600080fd5b50610a8f60048036036040811015610a7957600080fd5b506001600160a01b038135169060200135612214565b60408051958652602086019490945284840192909252606084015215156080830152519081900360a00190f35b348015610ac857600080fd5b506102e360048036036020811015610adf57600080fd5b50356001600160a01b0316612322565b348015610afb57600080fd5b506104e9612340565b348015610b1057600080fd5b506108b86124f1565b348015610b2557600080fd5b506108b8612500565b348015610b3a57600080fd5b506102e360048036036020811015610b5157600080fd5b50356001600160a01b031661250f565b348015610b6d57600080fd5b506102e360048036036020811015610b8457600080fd5b503561254c565b348015610b9757600080fd5b506102e360048036036020811015610bae57600080fd5b50356001600160a01b0316612559565b348015610bca57600080fd5b506102e361256b565b348015610bdf57600080fd5b506102e360048036036020811015610bf657600080fd5b50356001600160a01b031661257a565b348015610c1257600080fd5b506102e360048036036020811015610c2957600080fd5b50356001600160a01b031661258c565b348015610c4557600080fd5b506104e960048036036020811015610c5c57600080fd5b50356125aa565b348015610c6f57600080fd5b506104e960048036036060811015610c8657600080fd5b506001600160a01b03813581169160208101359091169060400135612678565b348015610cb257600080fd5b506102e360048036036020811015610cc957600080fd5b50356001600160a01b0316612b7a565b348015610ce557600080fd5b506108b8612bc4565b348015610cfa57600080fd5b506104e9612bd3565b61271081565b610d11613aa8565b6001600160a01b0382166000908152602360205260409081902081516101408101909252600301600a8282826020028201915b815481526020019060010190808311610d445750505050509050919050565b6001600160a01b038116600090815260236020526040812081805b8254811015610f22576000610dee610dbf62015180866000018581548110610da257fe5b60009182526020909120600590910201549063ffffffff61312116565b856000018481548110610dce57fe5b90600052602060002090600502016004015461318390919063ffffffff16565b90508084600101541015610f19576000610e63612710610e57876000018681548110610e1657fe5b906000526020600020906005020160010154886000018781548110610e3757fe5b90600052602060002090600502016002015461312190919063ffffffff16565b9063ffffffff6131dd16565b905060008560010154866000018581548110610e7b57fe5b90600052602060002090600502016004015411610e9c578560010154610ebe565b856000018481548110610eab57fe5b9060005260206000209060050201600401545b90506000428410610ecf5742610ed1565b835b905080821015610f1557610f12610f0562015180610e57610ef8858763ffffffff61324716565b879063ffffffff61312116565b879063ffffffff61318316565b95505b5050505b50600101610d7e565b509392505050565b60176020526000908152604090205481565b60245460ff1681565b6001600160a01b039182166000908152601460209081526040808320938352929052208054600190910154911691565b601281565b6001600160a01b031660009081526017602052604090205490565b6201518081565b60055481565b336000908152602360205260408120601881015490919060ff1615610fc657600080fd5b33600090815260176020526040812054610fe790600463ffffffff61312116565b90506000610ff433610d63565b905060006110013361250f565b9050611013848363ffffffff61318316565b935060006110203361258c565b90508015611042576000600d87015561103f858263ffffffff61318316565b94505b611052858363ffffffff61318316565b9450600085116110a1576040805162461bcd60e51b81526020600482015260156024820152745573657220686173206e6f206469766964656e647360581b604482015290519081900360640190fd5b601186015484906110b8908763ffffffff61318316565b11156110c357600080fd5b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561110f57600080fd5b505afa158015611123573d6000803e3d6000fd5b505050506040513d602081101561113957600080fd5b505190508581101561117957611155868263ffffffff61324716565b600d8801819055600e8801546111709163ffffffff61318316565b600e8801559450845b601387015461118e908463ffffffff61318316565b601388015560128701546111a8908563ffffffff61318316565b601288015542600188015560118701546111c8908763ffffffff61318316565b60118801556005546111e0908763ffffffff61318316565b600555600080546040805163a9059cbb60e01b8152336004820152602481018a905290516001600160a01b039092169263a9059cbb926044808401936020939083900390910190829087803b15801561123857600080fd5b505af115801561124c573d6000803e3d6000fd5b505050506040513d602081101561126257600080fd5b505050505050505050565b60008061127983610d63565b6001600160a01b03841660009081526023602052604090206012015461129e85610d63565b0191509150915091565b60005460408051636eb1769f60e11b81523360048201523060248201529051670de0b6b3a76400008502926103e8926001600160a01b039091169163dd62ed3e91604480820192602092909190829003018186803b15801561130957600080fd5b505afa15801561131d573d6000803e3d6000fd5b505050506040513d602081101561133357600080fd5b505182111561134157600080fd5b33600090815260236020526040902060245460ff166113be576006546001600160a01b031633141561137f576024805460ff191660011790556113be565b6040805162461bcd60e51b815260206004820152600f60248201526e139bdd081cdd185c9d1959081e595d608a1b604482015290519081900360640190fd5b6a084595161401484a0000008310156113d657600080fd5b60006113ee6064610e5786600563ffffffff61312116565b905060006114086064610e5787600a63ffffffff61312116565b600654600054919250611430916001600160a01b03908116913391168563ffffffff6132a416565b600754600054611455916001600160a01b03918216913391168463ffffffff6132a416565b60085460005461147a916001600160a01b03918216913391168563ffffffff6132a416565b60095460005461149f916001600160a01b03918216913391168563ffffffff6132a416565b600a546000546114c4916001600160a01b03918216913391168563ffffffff6132a416565b60028301546001600160a01b03166115eb576001600160a01b0386166000908152602360205260409020541580159061150657506001600160a01b0386163314155b15611529576002830180546001600160a01b0319166001600160a01b0388161790555b60028301546001600160a01b031660005b600a8110156115e8576001600160a01b038216156115db576001600160a01b038216600090815260236020526040902061158d9060019060030183600a811061157f57fe5b01549063ffffffff61318316565b6001600160a01b038316600090815260236020526040902060030182600a81106115b357fe5b01556001600160a01b03918216600090815260236020526040902060020154909116906115e0565b6115e8565b60010161153a565b50505b336000908152601960205260409020546001906001600160a01b0316156116295750336000908152601960205260408120546001600160a01b031696505b6116348733836132fe565b60028401546001600160a01b0316156118a55760028401546001600160a01b031660005b600a8110156118a2576001600160a01b0382161561189557600381101561174b5760006116ab612710610e576002858154811061169157fe5b90600052602060002001548c61312190919063ffffffff16565b6001600160a01b03841660009081526016602052604090205490915015611749576001600160a01b0383166000908152602360205260409020600d01546116f8908263ffffffff61318316565b6001600160a01b0384166000908152602360205260409020600d810191909155600e015461172c908263ffffffff61318316565b6001600160a01b0384166000908152602360205260409020600e01555b505b6001600160a01b038216600090815260236020526040902060170154611777908963ffffffff61318316565b6001600160a01b0383166000908152602360205260409020601701558061186f576001600160a01b0382166000908152602360205260409020600301546002141561186f57600760006117e56117d6836201518063ffffffff61312116565b6025549063ffffffff61318316565b905080421161186c576001600160a01b03841660009081526017602052604081205461181f90606490610e5790600a63ffffffff61312116565b6001600160a01b0386166000908152602360205260409020600f015490915061184e908263ffffffff61318316565b6001600160a01b0386166000908152602360205260409020600f0155505b50505b6001600160a01b039182166000908152602360205260409020600201549091169061189a565b6118a2565b600101611658565b50505b83546118b2574260018501555b60006118ca6064610e5789604663ffffffff61312116565b6000549091506118eb906001600160a01b031633308463ffffffff6132a416565b846000016040518060a001604052808881526020016003548152602001898152602001600015158152602001428152509080600181540180825580915050906001820390600052602060002090600502016000909192909190915060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548160ff021916908315150217905550608082015181600401555050506119c060166000336001600160a01b03166001600160a01b031681526020019081526020016000205488613183565b336000908152601660209081526040808320939093556017905220546119e69088613183565b33600090815260176020526040902055600454611a09908863ffffffff61318316565b600455505050505050505050565b6014602090815260009283526040808420909152908252902080546001909101546001600160a01b039091169082565b6001600160a01b031660009081526023602052604090206017015490565b6001600160a01b03166000908152602360205260409020600e015490565b6004546005549091565b60045481565b600a81565b6001600160a01b0381166000908152602360205260408120601881015460ff1615611ac257600080fd5b600080611ace33610d63565b90506000611adb3361250f565b9050611aed838363ffffffff61318316565b92506000611afa3361258c565b90508015611b1c576000600d860155611b19848263ffffffff61318316565b93505b611b2c848363ffffffff61318316565b6013860154909450611b44908363ffffffff61318316565b60138601556012850154611b5e908463ffffffff61318316565b601286015583611bad576040805162461bcd60e51b81526020600482015260156024820152745573657220686173206e6f206469766964656e647360581b604482015290519081900360640190fd5b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015611bf957600080fd5b505afa158015611c0d573d6000803e3d6000fd5b505050506040513d6020811015611c2357600080fd5b5051905084811015611c6357611c3f858263ffffffff61324716565b600d8701819055600e870154611c5a9163ffffffff61318316565b600e8701559350835b4260018701556011860154611c7e908663ffffffff61318316565b60119096019590955550919350505050919050565b60028181548110611ca057fe5b600091825260209091200154905081565b6000806000611cbf84612b7a565b6001600160a01b038516600090815260166020526040902054909150611ce457600080fd5b60015b818111611e8357600080611cfb8784610f45565b6001600160a01b0382166000908152602360205260408120919450919250905b8154811015611e73576000611d4e611d3f62015180856000018581548110610da257fe5b846000018481548110610dce57fe5b905080836000018381548110611d6057fe5b9060005260206000209060050201600401541015611e6a576000611db3612710610e57866000018681548110611d9257fe5b906000526020600020906005020160010154876000018781548110610e3757fe5b90506000846000018481548110611dc657fe5b90600052602060002090600502016004015490506000428410611de95742611deb565b835b90506000611e21612710610e576001808d0381548110611e0757fe5b90600052602060002001548761312190919063ffffffff16565b905081831015611e6557611e62611e5562015180610e57611e48868863ffffffff61324716565b859063ffffffff61312116565b8d9063ffffffff61318316565b9b505b505050505b50600101611d1b565b505060019092019150611ce79050565b50909392505050565b6001600160a01b0316600090815260236020526040902060118101546012820154601383015460148401546015909401549294919390929091565b6000805b6001600160a01b038316600090815260236020526040902054811015611f3f576001600160a01b03831660009081526023602052604090208054611f35919083908110611f1457fe5b9060005260206000209060050201600201548361318390919063ffffffff16565b9150600101611ecb565b50919050565b6006546001600160a01b03163314611f5c57600080fd5b60005b8251811015611fdc57600060236000858481518110611f7a57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000209050611fce838381518110611fb357fe5b602002602001015182600f015461318390919063ffffffff16565b600f90910155600101611f5f565b505050565b6007546001600160a01b031681565b60255481565b6006546001600160a01b0316331461200d57600080fd5b6001600160a01b03919091166000908152602360205260409020601801805460ff1916911515919091179055565b6006546001600160a01b0316331461205257600080fd5b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561209e57600080fd5b505afa1580156120b2573d6000803e3d6000fd5b505050506040513d60208110156120c857600080fd5b50519050818110156120d957600080fd5b600080546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b039092169263a9059cbb926044808401936020939083900390910190829087803b15801561212e57600080fd5b505af1158015612142573d6000803e3d6000fd5b505050506040513d602081101561215857600080fd5b50505050565b6009546001600160a01b031681565b600a546001600160a01b031681565b602360205260009081526040902060018101546002820154600d830154600e840154600f850154601086015460118701546012880154601389015460148a015460158b015460168c015460178d01546018909d01549b9c6001600160a01b03909b169b999a98999798969795969495939492939192909160ff168e565b6001600160a01b031660009081526023602052604090205490565b6001600160a01b038216600090815260236020526040812080548291829182918291829082908990811061224457fe5b906000526020600020906005020160000154905081600001888154811061226757fe5b906000526020600020906005020160010154965081600001888154811061228a57fe5b90600052602060002090600502016002015495508160000188815481106122ad57fe5b90600052602060002090600502016004015494506122e96122da620151808361312190919063ffffffff16565b836000018a81548110610dce57fe5b93508160000188815481106122fa57fe5b60009182526020909120600360059092020101549699959850939650919460ff169392505050565b6001600160a01b03166000908152602360205260409020600f015490565b336000908152602360205260409020601881015460ff161561236157600080fd5b600f810154806123ae576040805162461bcd60e51b81526020600482015260136024820152725573657220686173206e6f207265776172647360681b604482015290519081900360640190fd5b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156123fa57600080fd5b505afa15801561240e573d6000803e3d6000fd5b505050506040513d602081101561242457600080fd5b5051905081811161243457600080fd5b6000600f8401556015830154612450908363ffffffff61318316565b6015840155600554612468908363ffffffff61318316565b600555600080546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b039092169263a9059cbb926044808401936020939083900390910190829087803b1580156124c057600080fd5b505af11580156124d4573d6000803e3d6000fd5b505050506040513d60208110156124ea57600080fd5b5050505050565b6006546001600160a01b031681565b6008546001600160a01b031681565b6001600160a01b038116600090815260236020526040812060138101546125459061253985611cb1565b9063ffffffff61324716565b9392505050565b60018181548110611ca057fe5b60166020526000908152604090205481565b6a084595161401484a00000081565b60156020526000908152604090205481565b6001600160a01b03166000908152602360205260409020600d015490565b6006546001600160a01b031633146125c157600080fd5b60005460408051636eb1769f60e11b815233600482015230602482015290516001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b15801561261257600080fd5b505afa158015612626573d6000803e3d6000fd5b505050506040513d602081101561263c57600080fd5b505181111561264a57600080fd5b600054670de0b6b3a7640000820290612674906001600160a01b031633308463ffffffff6132a416565b5050565b6006546001600160a01b0316331461268f57600080fd5b6001600160a01b03808416600090815260236020526040902060028101546103e892670de0b6b3a7640000850291166127d2576001600160a01b038516600090815260236020526040902054158015906126fb5750856001600160a01b0316856001600160a01b031614155b1561271e576002820180546001600160a01b0319166001600160a01b0387161790555b60028201546001600160a01b031660005b600a8110156127cf576001600160a01b038216156127c2576001600160a01b03821660009081526023602052604090206127749060019060030183600a811061157f57fe5b6001600160a01b038316600090815260236020526040902060030182600a811061279a57fe5b01556001600160a01b03918216600090815260236020526040902060020154909116906127c7565b6127cf565b60010161272f565b50505b6001600160a01b03808716600090815260196020526040902054600191161561281657506001600160a01b0380871660009081526019602052604081205490911695505b6128218688836132fe565b60028301546001600160a01b031615612a835760028301546001600160a01b031660005b600a811015612a80576001600160a01b03821615612a73576003811015612938576000612898612710610e576002858154811061287e57fe5b90600052602060002001548861312190919063ffffffff16565b6001600160a01b03841660009081526016602052604090205490915015612936576001600160a01b0383166000908152602360205260409020600d01546128e5908263ffffffff61318316565b6001600160a01b0384166000908152602360205260409020600d810191909155600e0154612919908263ffffffff61318316565b6001600160a01b0384166000908152602360205260409020600e01555b505b6001600160a01b038216600090815260236020526040902060170154612964908563ffffffff61318316565b6001600160a01b03831660009081526023602052604090206017015580612a4d576001600160a01b03821660009081526023602052604090206003015460021415612a4d57600760006129c36117d6836201518063ffffffff61312116565b9050804211612a4a576001600160a01b0384166000908152601760205260408120546129fd90606490610e5790600a63ffffffff61312116565b6001600160a01b0386166000908152602360205260409020600f0154909150612a2c908263ffffffff61318316565b6001600160a01b0386166000908152602360205260409020600f0155505b50505b6001600160a01b0391821660009081526023602052604090206002015490911690612a78565b612a80565b600101612845565b50505b8254612a90574260018401555b6040805160a08101825285815260038054602080840191825283850187815260006060860181815242608088019081528b5460018082018e558d855286852099516005909202909901908155955197860197909755915160028501559051938301805460ff19169415159490941790935592516004909101556001600160a01b038a16815260169091522054612b269083613183565b6001600160a01b038816600090815260166020908152604080832093909355601790522054612b559083613183565b6001600160a01b03909716600090815260176020526040902096909655505050505050565b600080805b600a811015612bbd576001600160a01b038416600090815260236020526040902060030181600a8110612bae57fe5b01549190910190600101612b7f565b5092915050565b6000546001600160a01b031681565b3360008181526023602052604081206103e892909190612bf290611a98565b905060018111612c0157600080fd5b6000612c196064610e5784600563ffffffff61312116565b90506000612c336064610e5785600a63ffffffff61312116565b600080546006546040805163a9059cbb60e01b81526001600160a01b03928316600482015260248101889052905194955091169263a9059cbb92604480840193602093929083900390910190829087803b158015612c9057600080fd5b505af1158015612ca4573d6000803e3d6000fd5b505050506040513d6020811015612cba57600080fd5b5050600080546007546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051919092169263a9059cbb92604480820193602093909283900390910190829087803b158015612d1857600080fd5b505af1158015612d2c573d6000803e3d6000fd5b505050506040513d6020811015612d4257600080fd5b5050600080546008546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018790529051919092169263a9059cbb92604480820193602093909283900390910190829087803b158015612da057600080fd5b505af1158015612db4573d6000803e3d6000fd5b505050506040513d6020811015612dca57600080fd5b5050600080546009546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018790529051919092169263a9059cbb92604480820193602093909283900390910190829087803b158015612e2857600080fd5b505af1158015612e3c573d6000803e3d6000fd5b505050506040513d6020811015612e5257600080fd5b505060008054600a546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018790529051919092169263a9059cbb92604480820193602093909283900390910190829087803b158015612eb057600080fd5b505af1158015612ec4573d6000803e3d6000fd5b505050506040513d6020811015612eda57600080fd5b505060028401546001600160a01b03161561305d5760028401546001600160a01b031660005b600a81101561305a576001600160a01b0382161561304d576003811015612ff3576000612f53612710610e5760028581548110612f3957fe5b90600052602060002001548961312190919063ffffffff16565b6001600160a01b03841660009081526016602052604090205490915015612ff1576001600160a01b0383166000908152602360205260409020600d0154612fa0908263ffffffff61318316565b6001600160a01b0384166000908152602360205260409020600d810191909155600e0154612fd4908263ffffffff61318316565b6001600160a01b0384166000908152602360205260409020600e01555b505b6001600160a01b03821660009081526023602052604090206017015461301f908663ffffffff61318316565b6001600160a01b03928316600090815260236020526040902060178101919091556002015490911690613052565b61305a565b600101612f00565b50505b6040805160a08101825286815260038054602080840191825283850188815260016060860181815242608088019081528c548084018e5560008e815286812099516005909202909901908155955192860192909255915160028501559051938301805460ff19169415159490941790935591516004909101553382526016905220546130e99084613183565b33600090815260166020819052604090912091909155840154613112908463ffffffff61318316565b84601601819055505050505050565b6000826131305750600061317d565b8282028284828161313d57fe5b041461317a5760405162461bcd60e51b8152600401808060200182810382526021815260200180613ac86021913960400191505060405180910390fd5b90505b92915050565b60008282018381101561317a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000808211613233576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161323e57fe5b04949350505050565b60008282111561329e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526121589085906138a2565b6001600160a01b03828116600090815260196020526040902080546001600160a01b03191691851691909117905581811515600114156133445761334484826001613a51565b6001600160a01b03808516600090815260196020908152604080832054600b80546001600160a01b03199081169287169290921790819055601a845282852054600c80548416918816919091179055601b845282852054600d80548416918816919091179055601c845282852054600e80548416918816919091179055601d845282852054600f80548416918816919091179055601e845282852054601080548416918816919091179055601f845282852054601180548416918816919091179055838052828520546012805484169188169190911790556021909352922054601380549093169084161790915516156134a7576001600160a01b038085166000908152601960209081526040808320548585168452601a90925290912080546001600160a01b03191691909216179055811515600114156134a7576001600160a01b038085166000908152601960205260409020546134a79116826002613a51565b600c546001600160a01b031615613527576001600160a01b038085166000908152601a60209081526040808320548585168452601b90925290912080546001600160a01b0319169190921617905581151560011415613527576001600160a01b038085166000908152601a60205260409020546135279116826003613a51565b600d546001600160a01b0316156135a7576001600160a01b038085166000908152601b60209081526040808320548585168452601c90925290912080546001600160a01b03191691909216179055811515600114156135a7576001600160a01b038085166000908152601b60205260409020546135a79116826004613a51565b600e546001600160a01b031615613627576001600160a01b038085166000908152601c60209081526040808320548585168452601d90925290912080546001600160a01b0319169190921617905581151560011415613627576001600160a01b038085166000908152601c60205260409020546136279116826005613a51565b600f546001600160a01b0316156136a7576001600160a01b038085166000908152601d60209081526040808320548585168452601e90925290912080546001600160a01b03191691909216179055811515600114156136a7576001600160a01b038085166000908152601d60205260409020546136a79116826006613a51565b6010546001600160a01b031615613727576001600160a01b038085166000908152601e60209081526040808320548585168452601f90925290912080546001600160a01b0319169190921617905581151560011415613727576001600160a01b038085166000908152601e60205260409020546137279116826007613a51565b6011546001600160a01b0316156137a5576001600160a01b038085166000908152601f6020908152604080832054858516845291805290912080546001600160a01b03191691909216179055811515600114156137a5576001600160a01b038085166000908152601f60205260409020546137a59116826008613a51565b6012546001600160a01b031615613822576001600160a01b03808516600090815260208080526040808320548585168452602190925290912080546001600160a01b0319169190921617905581151560011415613822576001600160a01b0380851660009081526020805260409020546138229116826009613a51565b6013546001600160a01b031615612158576001600160a01b038085166000908152602160209081526040808320548585168452602290925290912080546001600160a01b0319169190921617905581151560011415612158576001600160a01b03808516600090815260216020526040902054612158911682600a613a51565b6138ab82613aa2565b6138fc576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061393a5780518252601f19909201916020918201910161391b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461399c576040519150601f19603f3d011682016040523d82523d6000602084013e6139a1565b606091505b5091509150816139f8576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561215857808060200190516020811015613a1457600080fd5b50516121585760405162461bcd60e51b815260040180806020018281038252602a815260200180613ae9602a913960400191505060405180910390fd5b6001600160a01b039283166000908152601560209081526040808320805460019081019182905560148452828520918552925290912080546001600160a01b03191693909416929092178355910155565b3b151590565b604051806101400160405280600a90602082028038833950919291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820e229fb149e30e5eb1b51386ab1e686be9616eb730dc2ff941ad43b8eee7c0a7864736f6c6343000511003200000000000000000000000015427b3ce686ee6801e6d56f485ab12382d76521000000000000000000000000515b8e75b035413a539c67901caf3b4822d94ce9000000000000000000000000835cafdab970d7079950b66a85d352701cc2286500000000000000000000000062e7e061c323ad19e9ed564020f3ae9e795970210000000000000000000000004a9f853e133dfdcdbe088193da065ccc942e9b1c00000000000000000000000025d887ce7a35172c62febfd67a1856f20faebb00
Deployed Bytecode
0x6080604052600436106102c95760003560e01c80638da5cb5b11610175578063ca9cb998116100dc578063e85abe0911610095578063fa57c01a1161006f578063fa57c01a14610c63578063fbfcb27914610ca6578063fc0c546a14610cd9578063fdb5a03e14610cee576102c9565b8063e85abe0914610c06578063e9f2eb5a14610c39578063f05ba39b146102ce576102c9565b8063ca9cb99814610b19578063d20001a514610b2e578063d38c612c14610b61578063d8b0b1e114610b8b578063e262113e14610bbe578063e5deb30414610bd3576102c9565b8063a87430ba1161012e578063a87430ba14610978578063a8aeb6c214610a23578063c0806b0314610a56578063c75ebb8214610abc578063c885bc5814610aef578063ca4b208b14610b04576102c9565b80638da5cb5b146108a35780638e4b3898146108d4578063960f627c146108e9578063977f91521461092457806398f54f361461094e578063a2878ece14610963576102c9565b80633d103b971161023457806357fc86b4116101ed57806376e944b9116101c757806376e944b9146106ab5780637afa46cb146106de5780637e3abeea1461073c5780638384c6fa1461076f576102c9565b806357fc86b41461063957806358554ac81461064e578063600d20ce14610681576102c9565b80633d103b971461053757806343360a8e1461057057806346edb5a9146105a957806348c37203146105dc5780634ce870531461060f5780635216aeec14610624576102c9565b8063313ce56711610286578063313ce5671461044c578063315dc34e1461047757806332bc298c146104aa578063339f78e9146104bf5780633ccfd60b146104d45780633cfc6f8e146104eb576102c9565b806301c234a8146102ce57806303a93c0c146102f5578063040a772e14610361578063098b6792146103945780631f2698ab146103c75780632b152e40146103f0575b600080fd5b3480156102da57600080fd5b506102e3610d03565b60408051918252519081900360200190f35b34801561030157600080fd5b506103286004803603602081101561031857600080fd5b50356001600160a01b0316610d09565b604051808261014080838360005b8381101561034e578181015183820152602001610336565b5050505090500191505060405180910390f35b34801561036d57600080fd5b506102e36004803603602081101561038457600080fd5b50356001600160a01b0316610d63565b3480156103a057600080fd5b506102e3600480360360208110156103b757600080fd5b50356001600160a01b0316610f2a565b3480156103d357600080fd5b506103dc610f3c565b604080519115158252519081900360200190f35b3480156103fc57600080fd5b506104296004803603604081101561041357600080fd5b506001600160a01b038135169060200135610f45565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561045857600080fd5b50610461610f75565b6040805160ff9092168252519081900360200190f35b34801561048357600080fd5b506102e36004803603602081101561049a57600080fd5b50356001600160a01b0316610f7a565b3480156104b657600080fd5b506102e3610f95565b3480156104cb57600080fd5b506102e3610f9c565b3480156104e057600080fd5b506104e9610fa2565b005b3480156104f757600080fd5b5061051e6004803603602081101561050e57600080fd5b50356001600160a01b031661126d565b6040805192835260208301919091528051918290030190f35b34801561054357600080fd5b506104e96004803603604081101561055a57600080fd5b50803590602001356001600160a01b03166112a8565b34801561057c57600080fd5b506104296004803603604081101561059357600080fd5b506001600160a01b038135169060200135611a17565b3480156105b557600080fd5b506102e3600480360360208110156105cc57600080fd5b50356001600160a01b0316611a47565b3480156105e857600080fd5b506102e3600480360360208110156105ff57600080fd5b50356001600160a01b0316611a65565b34801561061b57600080fd5b5061051e611a83565b34801561063057600080fd5b506102e3611a8d565b34801561064557600080fd5b506102e3611a93565b34801561065a57600080fd5b506102e36004803603602081101561067157600080fd5b50356001600160a01b0316611a98565b34801561068d57600080fd5b506102e3600480360360208110156106a457600080fd5b5035611c93565b3480156106b757600080fd5b506102e3600480360360208110156106ce57600080fd5b50356001600160a01b0316611cb1565b3480156106ea57600080fd5b506107116004803603602081101561070157600080fd5b50356001600160a01b0316611e8c565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561074857600080fd5b506102e36004803603602081101561075f57600080fd5b50356001600160a01b0316611ec7565b34801561077b57600080fd5b506104e96004803603604081101561079257600080fd5b8101906020810181356401000000008111156107ad57600080fd5b8201836020820111156107bf57600080fd5b803590602001918460208302840111640100000000831117156107e157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561083157600080fd5b82018360208201111561084357600080fd5b8035906020019184602083028401116401000000008311171561086557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611f45945050505050565b3480156108af57600080fd5b506108b8611fe1565b604080516001600160a01b039092168252519081900360200190f35b3480156108e057600080fd5b506102e3611ff0565b3480156108f557600080fd5b506104e96004803603604081101561090c57600080fd5b506001600160a01b0381351690602001351515611ff6565b34801561093057600080fd5b506104e96004803603602081101561094757600080fd5b503561203b565b34801561095a57600080fd5b506108b861215e565b34801561096f57600080fd5b506108b861216d565b34801561098457600080fd5b506109ab6004803603602081101561099b57600080fd5b50356001600160a01b031661217c565b604080519e8f526001600160a01b03909d1660208f01528d8d019b909b5260608d019990995260808c019790975260a08b019590955260c08a019390935260e089019190915261010088015261012087015261014086015261016085015261018084015215156101a083015251908190036101c00190f35b348015610a2f57600080fd5b506102e360048036036020811015610a4657600080fd5b50356001600160a01b03166121f9565b348015610a6257600080fd5b50610a8f60048036036040811015610a7957600080fd5b506001600160a01b038135169060200135612214565b60408051958652602086019490945284840192909252606084015215156080830152519081900360a00190f35b348015610ac857600080fd5b506102e360048036036020811015610adf57600080fd5b50356001600160a01b0316612322565b348015610afb57600080fd5b506104e9612340565b348015610b1057600080fd5b506108b86124f1565b348015610b2557600080fd5b506108b8612500565b348015610b3a57600080fd5b506102e360048036036020811015610b5157600080fd5b50356001600160a01b031661250f565b348015610b6d57600080fd5b506102e360048036036020811015610b8457600080fd5b503561254c565b348015610b9757600080fd5b506102e360048036036020811015610bae57600080fd5b50356001600160a01b0316612559565b348015610bca57600080fd5b506102e361256b565b348015610bdf57600080fd5b506102e360048036036020811015610bf657600080fd5b50356001600160a01b031661257a565b348015610c1257600080fd5b506102e360048036036020811015610c2957600080fd5b50356001600160a01b031661258c565b348015610c4557600080fd5b506104e960048036036020811015610c5c57600080fd5b50356125aa565b348015610c6f57600080fd5b506104e960048036036060811015610c8657600080fd5b506001600160a01b03813581169160208101359091169060400135612678565b348015610cb257600080fd5b506102e360048036036020811015610cc957600080fd5b50356001600160a01b0316612b7a565b348015610ce557600080fd5b506108b8612bc4565b348015610cfa57600080fd5b506104e9612bd3565b61271081565b610d11613aa8565b6001600160a01b0382166000908152602360205260409081902081516101408101909252600301600a8282826020028201915b815481526020019060010190808311610d445750505050509050919050565b6001600160a01b038116600090815260236020526040812081805b8254811015610f22576000610dee610dbf62015180866000018581548110610da257fe5b60009182526020909120600590910201549063ffffffff61312116565b856000018481548110610dce57fe5b90600052602060002090600502016004015461318390919063ffffffff16565b90508084600101541015610f19576000610e63612710610e57876000018681548110610e1657fe5b906000526020600020906005020160010154886000018781548110610e3757fe5b90600052602060002090600502016002015461312190919063ffffffff16565b9063ffffffff6131dd16565b905060008560010154866000018581548110610e7b57fe5b90600052602060002090600502016004015411610e9c578560010154610ebe565b856000018481548110610eab57fe5b9060005260206000209060050201600401545b90506000428410610ecf5742610ed1565b835b905080821015610f1557610f12610f0562015180610e57610ef8858763ffffffff61324716565b879063ffffffff61312116565b879063ffffffff61318316565b95505b5050505b50600101610d7e565b509392505050565b60176020526000908152604090205481565b60245460ff1681565b6001600160a01b039182166000908152601460209081526040808320938352929052208054600190910154911691565b601281565b6001600160a01b031660009081526017602052604090205490565b6201518081565b60055481565b336000908152602360205260408120601881015490919060ff1615610fc657600080fd5b33600090815260176020526040812054610fe790600463ffffffff61312116565b90506000610ff433610d63565b905060006110013361250f565b9050611013848363ffffffff61318316565b935060006110203361258c565b90508015611042576000600d87015561103f858263ffffffff61318316565b94505b611052858363ffffffff61318316565b9450600085116110a1576040805162461bcd60e51b81526020600482015260156024820152745573657220686173206e6f206469766964656e647360581b604482015290519081900360640190fd5b601186015484906110b8908763ffffffff61318316565b11156110c357600080fd5b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561110f57600080fd5b505afa158015611123573d6000803e3d6000fd5b505050506040513d602081101561113957600080fd5b505190508581101561117957611155868263ffffffff61324716565b600d8801819055600e8801546111709163ffffffff61318316565b600e8801559450845b601387015461118e908463ffffffff61318316565b601388015560128701546111a8908563ffffffff61318316565b601288015542600188015560118701546111c8908763ffffffff61318316565b60118801556005546111e0908763ffffffff61318316565b600555600080546040805163a9059cbb60e01b8152336004820152602481018a905290516001600160a01b039092169263a9059cbb926044808401936020939083900390910190829087803b15801561123857600080fd5b505af115801561124c573d6000803e3d6000fd5b505050506040513d602081101561126257600080fd5b505050505050505050565b60008061127983610d63565b6001600160a01b03841660009081526023602052604090206012015461129e85610d63565b0191509150915091565b60005460408051636eb1769f60e11b81523360048201523060248201529051670de0b6b3a76400008502926103e8926001600160a01b039091169163dd62ed3e91604480820192602092909190829003018186803b15801561130957600080fd5b505afa15801561131d573d6000803e3d6000fd5b505050506040513d602081101561133357600080fd5b505182111561134157600080fd5b33600090815260236020526040902060245460ff166113be576006546001600160a01b031633141561137f576024805460ff191660011790556113be565b6040805162461bcd60e51b815260206004820152600f60248201526e139bdd081cdd185c9d1959081e595d608a1b604482015290519081900360640190fd5b6a084595161401484a0000008310156113d657600080fd5b60006113ee6064610e5786600563ffffffff61312116565b905060006114086064610e5787600a63ffffffff61312116565b600654600054919250611430916001600160a01b03908116913391168563ffffffff6132a416565b600754600054611455916001600160a01b03918216913391168463ffffffff6132a416565b60085460005461147a916001600160a01b03918216913391168563ffffffff6132a416565b60095460005461149f916001600160a01b03918216913391168563ffffffff6132a416565b600a546000546114c4916001600160a01b03918216913391168563ffffffff6132a416565b60028301546001600160a01b03166115eb576001600160a01b0386166000908152602360205260409020541580159061150657506001600160a01b0386163314155b15611529576002830180546001600160a01b0319166001600160a01b0388161790555b60028301546001600160a01b031660005b600a8110156115e8576001600160a01b038216156115db576001600160a01b038216600090815260236020526040902061158d9060019060030183600a811061157f57fe5b01549063ffffffff61318316565b6001600160a01b038316600090815260236020526040902060030182600a81106115b357fe5b01556001600160a01b03918216600090815260236020526040902060020154909116906115e0565b6115e8565b60010161153a565b50505b336000908152601960205260409020546001906001600160a01b0316156116295750336000908152601960205260408120546001600160a01b031696505b6116348733836132fe565b60028401546001600160a01b0316156118a55760028401546001600160a01b031660005b600a8110156118a2576001600160a01b0382161561189557600381101561174b5760006116ab612710610e576002858154811061169157fe5b90600052602060002001548c61312190919063ffffffff16565b6001600160a01b03841660009081526016602052604090205490915015611749576001600160a01b0383166000908152602360205260409020600d01546116f8908263ffffffff61318316565b6001600160a01b0384166000908152602360205260409020600d810191909155600e015461172c908263ffffffff61318316565b6001600160a01b0384166000908152602360205260409020600e01555b505b6001600160a01b038216600090815260236020526040902060170154611777908963ffffffff61318316565b6001600160a01b0383166000908152602360205260409020601701558061186f576001600160a01b0382166000908152602360205260409020600301546002141561186f57600760006117e56117d6836201518063ffffffff61312116565b6025549063ffffffff61318316565b905080421161186c576001600160a01b03841660009081526017602052604081205461181f90606490610e5790600a63ffffffff61312116565b6001600160a01b0386166000908152602360205260409020600f015490915061184e908263ffffffff61318316565b6001600160a01b0386166000908152602360205260409020600f0155505b50505b6001600160a01b039182166000908152602360205260409020600201549091169061189a565b6118a2565b600101611658565b50505b83546118b2574260018501555b60006118ca6064610e5789604663ffffffff61312116565b6000549091506118eb906001600160a01b031633308463ffffffff6132a416565b846000016040518060a001604052808881526020016003548152602001898152602001600015158152602001428152509080600181540180825580915050906001820390600052602060002090600502016000909192909190915060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548160ff021916908315150217905550608082015181600401555050506119c060166000336001600160a01b03166001600160a01b031681526020019081526020016000205488613183565b336000908152601660209081526040808320939093556017905220546119e69088613183565b33600090815260176020526040902055600454611a09908863ffffffff61318316565b600455505050505050505050565b6014602090815260009283526040808420909152908252902080546001909101546001600160a01b039091169082565b6001600160a01b031660009081526023602052604090206017015490565b6001600160a01b03166000908152602360205260409020600e015490565b6004546005549091565b60045481565b600a81565b6001600160a01b0381166000908152602360205260408120601881015460ff1615611ac257600080fd5b600080611ace33610d63565b90506000611adb3361250f565b9050611aed838363ffffffff61318316565b92506000611afa3361258c565b90508015611b1c576000600d860155611b19848263ffffffff61318316565b93505b611b2c848363ffffffff61318316565b6013860154909450611b44908363ffffffff61318316565b60138601556012850154611b5e908463ffffffff61318316565b601286015583611bad576040805162461bcd60e51b81526020600482015260156024820152745573657220686173206e6f206469766964656e647360581b604482015290519081900360640190fd5b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015611bf957600080fd5b505afa158015611c0d573d6000803e3d6000fd5b505050506040513d6020811015611c2357600080fd5b5051905084811015611c6357611c3f858263ffffffff61324716565b600d8701819055600e870154611c5a9163ffffffff61318316565b600e8701559350835b4260018701556011860154611c7e908663ffffffff61318316565b60119096019590955550919350505050919050565b60028181548110611ca057fe5b600091825260209091200154905081565b6000806000611cbf84612b7a565b6001600160a01b038516600090815260166020526040902054909150611ce457600080fd5b60015b818111611e8357600080611cfb8784610f45565b6001600160a01b0382166000908152602360205260408120919450919250905b8154811015611e73576000611d4e611d3f62015180856000018581548110610da257fe5b846000018481548110610dce57fe5b905080836000018381548110611d6057fe5b9060005260206000209060050201600401541015611e6a576000611db3612710610e57866000018681548110611d9257fe5b906000526020600020906005020160010154876000018781548110610e3757fe5b90506000846000018481548110611dc657fe5b90600052602060002090600502016004015490506000428410611de95742611deb565b835b90506000611e21612710610e576001808d0381548110611e0757fe5b90600052602060002001548761312190919063ffffffff16565b905081831015611e6557611e62611e5562015180610e57611e48868863ffffffff61324716565b859063ffffffff61312116565b8d9063ffffffff61318316565b9b505b505050505b50600101611d1b565b505060019092019150611ce79050565b50909392505050565b6001600160a01b0316600090815260236020526040902060118101546012820154601383015460148401546015909401549294919390929091565b6000805b6001600160a01b038316600090815260236020526040902054811015611f3f576001600160a01b03831660009081526023602052604090208054611f35919083908110611f1457fe5b9060005260206000209060050201600201548361318390919063ffffffff16565b9150600101611ecb565b50919050565b6006546001600160a01b03163314611f5c57600080fd5b60005b8251811015611fdc57600060236000858481518110611f7a57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000209050611fce838381518110611fb357fe5b602002602001015182600f015461318390919063ffffffff16565b600f90910155600101611f5f565b505050565b6007546001600160a01b031681565b60255481565b6006546001600160a01b0316331461200d57600080fd5b6001600160a01b03919091166000908152602360205260409020601801805460ff1916911515919091179055565b6006546001600160a01b0316331461205257600080fd5b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561209e57600080fd5b505afa1580156120b2573d6000803e3d6000fd5b505050506040513d60208110156120c857600080fd5b50519050818110156120d957600080fd5b600080546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b039092169263a9059cbb926044808401936020939083900390910190829087803b15801561212e57600080fd5b505af1158015612142573d6000803e3d6000fd5b505050506040513d602081101561215857600080fd5b50505050565b6009546001600160a01b031681565b600a546001600160a01b031681565b602360205260009081526040902060018101546002820154600d830154600e840154600f850154601086015460118701546012880154601389015460148a015460158b015460168c015460178d01546018909d01549b9c6001600160a01b03909b169b999a98999798969795969495939492939192909160ff168e565b6001600160a01b031660009081526023602052604090205490565b6001600160a01b038216600090815260236020526040812080548291829182918291829082908990811061224457fe5b906000526020600020906005020160000154905081600001888154811061226757fe5b906000526020600020906005020160010154965081600001888154811061228a57fe5b90600052602060002090600502016002015495508160000188815481106122ad57fe5b90600052602060002090600502016004015494506122e96122da620151808361312190919063ffffffff16565b836000018a81548110610dce57fe5b93508160000188815481106122fa57fe5b60009182526020909120600360059092020101549699959850939650919460ff169392505050565b6001600160a01b03166000908152602360205260409020600f015490565b336000908152602360205260409020601881015460ff161561236157600080fd5b600f810154806123ae576040805162461bcd60e51b81526020600482015260136024820152725573657220686173206e6f207265776172647360681b604482015290519081900360640190fd5b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156123fa57600080fd5b505afa15801561240e573d6000803e3d6000fd5b505050506040513d602081101561242457600080fd5b5051905081811161243457600080fd5b6000600f8401556015830154612450908363ffffffff61318316565b6015840155600554612468908363ffffffff61318316565b600555600080546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b039092169263a9059cbb926044808401936020939083900390910190829087803b1580156124c057600080fd5b505af11580156124d4573d6000803e3d6000fd5b505050506040513d60208110156124ea57600080fd5b5050505050565b6006546001600160a01b031681565b6008546001600160a01b031681565b6001600160a01b038116600090815260236020526040812060138101546125459061253985611cb1565b9063ffffffff61324716565b9392505050565b60018181548110611ca057fe5b60166020526000908152604090205481565b6a084595161401484a00000081565b60156020526000908152604090205481565b6001600160a01b03166000908152602360205260409020600d015490565b6006546001600160a01b031633146125c157600080fd5b60005460408051636eb1769f60e11b815233600482015230602482015290516001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b15801561261257600080fd5b505afa158015612626573d6000803e3d6000fd5b505050506040513d602081101561263c57600080fd5b505181111561264a57600080fd5b600054670de0b6b3a7640000820290612674906001600160a01b031633308463ffffffff6132a416565b5050565b6006546001600160a01b0316331461268f57600080fd5b6001600160a01b03808416600090815260236020526040902060028101546103e892670de0b6b3a7640000850291166127d2576001600160a01b038516600090815260236020526040902054158015906126fb5750856001600160a01b0316856001600160a01b031614155b1561271e576002820180546001600160a01b0319166001600160a01b0387161790555b60028201546001600160a01b031660005b600a8110156127cf576001600160a01b038216156127c2576001600160a01b03821660009081526023602052604090206127749060019060030183600a811061157f57fe5b6001600160a01b038316600090815260236020526040902060030182600a811061279a57fe5b01556001600160a01b03918216600090815260236020526040902060020154909116906127c7565b6127cf565b60010161272f565b50505b6001600160a01b03808716600090815260196020526040902054600191161561281657506001600160a01b0380871660009081526019602052604081205490911695505b6128218688836132fe565b60028301546001600160a01b031615612a835760028301546001600160a01b031660005b600a811015612a80576001600160a01b03821615612a73576003811015612938576000612898612710610e576002858154811061287e57fe5b90600052602060002001548861312190919063ffffffff16565b6001600160a01b03841660009081526016602052604090205490915015612936576001600160a01b0383166000908152602360205260409020600d01546128e5908263ffffffff61318316565b6001600160a01b0384166000908152602360205260409020600d810191909155600e0154612919908263ffffffff61318316565b6001600160a01b0384166000908152602360205260409020600e01555b505b6001600160a01b038216600090815260236020526040902060170154612964908563ffffffff61318316565b6001600160a01b03831660009081526023602052604090206017015580612a4d576001600160a01b03821660009081526023602052604090206003015460021415612a4d57600760006129c36117d6836201518063ffffffff61312116565b9050804211612a4a576001600160a01b0384166000908152601760205260408120546129fd90606490610e5790600a63ffffffff61312116565b6001600160a01b0386166000908152602360205260409020600f0154909150612a2c908263ffffffff61318316565b6001600160a01b0386166000908152602360205260409020600f0155505b50505b6001600160a01b0391821660009081526023602052604090206002015490911690612a78565b612a80565b600101612845565b50505b8254612a90574260018401555b6040805160a08101825285815260038054602080840191825283850187815260006060860181815242608088019081528b5460018082018e558d855286852099516005909202909901908155955197860197909755915160028501559051938301805460ff19169415159490941790935592516004909101556001600160a01b038a16815260169091522054612b269083613183565b6001600160a01b038816600090815260166020908152604080832093909355601790522054612b559083613183565b6001600160a01b03909716600090815260176020526040902096909655505050505050565b600080805b600a811015612bbd576001600160a01b038416600090815260236020526040902060030181600a8110612bae57fe5b01549190910190600101612b7f565b5092915050565b6000546001600160a01b031681565b3360008181526023602052604081206103e892909190612bf290611a98565b905060018111612c0157600080fd5b6000612c196064610e5784600563ffffffff61312116565b90506000612c336064610e5785600a63ffffffff61312116565b600080546006546040805163a9059cbb60e01b81526001600160a01b03928316600482015260248101889052905194955091169263a9059cbb92604480840193602093929083900390910190829087803b158015612c9057600080fd5b505af1158015612ca4573d6000803e3d6000fd5b505050506040513d6020811015612cba57600080fd5b5050600080546007546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051919092169263a9059cbb92604480820193602093909283900390910190829087803b158015612d1857600080fd5b505af1158015612d2c573d6000803e3d6000fd5b505050506040513d6020811015612d4257600080fd5b5050600080546008546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018790529051919092169263a9059cbb92604480820193602093909283900390910190829087803b158015612da057600080fd5b505af1158015612db4573d6000803e3d6000fd5b505050506040513d6020811015612dca57600080fd5b5050600080546009546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018790529051919092169263a9059cbb92604480820193602093909283900390910190829087803b158015612e2857600080fd5b505af1158015612e3c573d6000803e3d6000fd5b505050506040513d6020811015612e5257600080fd5b505060008054600a546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018790529051919092169263a9059cbb92604480820193602093909283900390910190829087803b158015612eb057600080fd5b505af1158015612ec4573d6000803e3d6000fd5b505050506040513d6020811015612eda57600080fd5b505060028401546001600160a01b03161561305d5760028401546001600160a01b031660005b600a81101561305a576001600160a01b0382161561304d576003811015612ff3576000612f53612710610e5760028581548110612f3957fe5b90600052602060002001548961312190919063ffffffff16565b6001600160a01b03841660009081526016602052604090205490915015612ff1576001600160a01b0383166000908152602360205260409020600d0154612fa0908263ffffffff61318316565b6001600160a01b0384166000908152602360205260409020600d810191909155600e0154612fd4908263ffffffff61318316565b6001600160a01b0384166000908152602360205260409020600e01555b505b6001600160a01b03821660009081526023602052604090206017015461301f908663ffffffff61318316565b6001600160a01b03928316600090815260236020526040902060178101919091556002015490911690613052565b61305a565b600101612f00565b50505b6040805160a08101825286815260038054602080840191825283850188815260016060860181815242608088019081528c548084018e5560008e815286812099516005909202909901908155955192860192909255915160028501559051938301805460ff19169415159490941790935591516004909101553382526016905220546130e99084613183565b33600090815260166020819052604090912091909155840154613112908463ffffffff61318316565b84601601819055505050505050565b6000826131305750600061317d565b8282028284828161313d57fe5b041461317a5760405162461bcd60e51b8152600401808060200182810382526021815260200180613ac86021913960400191505060405180910390fd5b90505b92915050565b60008282018381101561317a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000808211613233576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161323e57fe5b04949350505050565b60008282111561329e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526121589085906138a2565b6001600160a01b03828116600090815260196020526040902080546001600160a01b03191691851691909117905581811515600114156133445761334484826001613a51565b6001600160a01b03808516600090815260196020908152604080832054600b80546001600160a01b03199081169287169290921790819055601a845282852054600c80548416918816919091179055601b845282852054600d80548416918816919091179055601c845282852054600e80548416918816919091179055601d845282852054600f80548416918816919091179055601e845282852054601080548416918816919091179055601f845282852054601180548416918816919091179055838052828520546012805484169188169190911790556021909352922054601380549093169084161790915516156134a7576001600160a01b038085166000908152601960209081526040808320548585168452601a90925290912080546001600160a01b03191691909216179055811515600114156134a7576001600160a01b038085166000908152601960205260409020546134a79116826002613a51565b600c546001600160a01b031615613527576001600160a01b038085166000908152601a60209081526040808320548585168452601b90925290912080546001600160a01b0319169190921617905581151560011415613527576001600160a01b038085166000908152601a60205260409020546135279116826003613a51565b600d546001600160a01b0316156135a7576001600160a01b038085166000908152601b60209081526040808320548585168452601c90925290912080546001600160a01b03191691909216179055811515600114156135a7576001600160a01b038085166000908152601b60205260409020546135a79116826004613a51565b600e546001600160a01b031615613627576001600160a01b038085166000908152601c60209081526040808320548585168452601d90925290912080546001600160a01b0319169190921617905581151560011415613627576001600160a01b038085166000908152601c60205260409020546136279116826005613a51565b600f546001600160a01b0316156136a7576001600160a01b038085166000908152601d60209081526040808320548585168452601e90925290912080546001600160a01b03191691909216179055811515600114156136a7576001600160a01b038085166000908152601d60205260409020546136a79116826006613a51565b6010546001600160a01b031615613727576001600160a01b038085166000908152601e60209081526040808320548585168452601f90925290912080546001600160a01b0319169190921617905581151560011415613727576001600160a01b038085166000908152601e60205260409020546137279116826007613a51565b6011546001600160a01b0316156137a5576001600160a01b038085166000908152601f6020908152604080832054858516845291805290912080546001600160a01b03191691909216179055811515600114156137a5576001600160a01b038085166000908152601f60205260409020546137a59116826008613a51565b6012546001600160a01b031615613822576001600160a01b03808516600090815260208080526040808320548585168452602190925290912080546001600160a01b0319169190921617905581151560011415613822576001600160a01b0380851660009081526020805260409020546138229116826009613a51565b6013546001600160a01b031615612158576001600160a01b038085166000908152602160209081526040808320548585168452602290925290912080546001600160a01b0319169190921617905581151560011415612158576001600160a01b03808516600090815260216020526040902054612158911682600a613a51565b6138ab82613aa2565b6138fc576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061393a5780518252601f19909201916020918201910161391b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461399c576040519150601f19603f3d011682016040523d82523d6000602084013e6139a1565b606091505b5091509150816139f8576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561215857808060200190516020811015613a1457600080fd5b50516121585760405162461bcd60e51b815260040180806020018281038252602a815260200180613ae9602a913960400191505060405180910390fd5b6001600160a01b039283166000908152601560209081526040808320805460019081019182905560148452828520918552925290912080546001600160a01b03191693909416929092178355910155565b3b151590565b604051806101400160405280600a90602082028038833950919291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820e229fb149e30e5eb1b51386ab1e686be9616eb730dc2ff941ad43b8eee7c0a7864736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000015427b3ce686ee6801e6d56f485ab12382d76521000000000000000000000000515b8e75b035413a539c67901caf3b4822d94ce9000000000000000000000000835cafdab970d7079950b66a85d352701cc2286500000000000000000000000062e7e061c323ad19e9ed564020f3ae9e795970210000000000000000000000004a9f853e133dfdcdbe088193da065ccc942e9b1c00000000000000000000000025d887ce7a35172c62febfd67a1856f20faebb00
-----Decoded View---------------
Arg [0] : development (address): 0x15427b3CE686ee6801e6d56f485AB12382D76521
Arg [1] : ownerAddr (address): 0x515b8e75b035413a539c67901CAf3B4822D94Ce9
Arg [2] : chainAddr (address): 0x835CaFdab970D7079950B66A85D352701CC22865
Arg [3] : flashAddr (address): 0x62E7E061C323aD19E9Ed564020F3Ae9E79597021
Arg [4] : stakeAddr (address): 0x4a9F853E133dfDcdbe088193Da065Ccc942E9b1C
Arg [5] : tokenAddr (address): 0x25d887Ce7a35172C62FeBFD67a1856F20FaEbB00
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 00000000000000000000000015427b3ce686ee6801e6d56f485ab12382d76521
Arg [1] : 000000000000000000000000515b8e75b035413a539c67901caf3b4822d94ce9
Arg [2] : 000000000000000000000000835cafdab970d7079950b66a85d352701cc22865
Arg [3] : 00000000000000000000000062e7e061c323ad19e9ed564020f3ae9e79597021
Arg [4] : 0000000000000000000000004a9f853e133dfdcdbe088193da065ccc942e9b1c
Arg [5] : 00000000000000000000000025d887ce7a35172c62febfd67a1856f20faebb00
Deployed Bytecode Sourcemap
4306:25165:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7686:8;;;4752:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4752:49:0;;;:::i;:::-;;;;;;;;;;;;;;;;27247:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27247:151:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27247:151:0;-1:-1:-1;;;;;27247:151:0;;:::i;:::-;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;27247:151:0;;;;;;;;;;;;;;;;23755:783;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23755:783:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23755:783:0;-1:-1:-1;;;;;23755:783:0;;:::i;5689:58::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5689:58:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5689:58:0;-1:-1:-1;;;;;5689:58:0;;:::i;7100:19::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7100:19:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;10998:209;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10998:209:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10998:209:0;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;10998:209:0;;;;;;;;;;;;;;;;;;;;;4421:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4421:48:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26603:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26603:140:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26603:140:0;-1:-1:-1;;;;;26603:140:0;;:::i;4857:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4857:45:0;;;:::i;4972:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4972:29:0;;;:::i;7867:1384::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7867:1384:0;;;:::i;:::-;;27926:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27926:201:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27926:201:0;-1:-1:-1;;;;;27926:201:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16122:3244;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16122:3244:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16122:3244:0;;;;;;-1:-1:-1;;;;;16122:3244:0;;:::i;5499:66::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5499:66:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5499:66:0;;;;;;;;:::i;27671:127::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27671:127:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27671:127:0;-1:-1:-1;;;;;27671:127:0;;:::i;28638:131::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28638:131:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28638:131:0;-1:-1:-1;;;;;28638:131:0;;:::i;26243:139::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26243:139:0;;;:::i;4940:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4940:28:0;;;:::i;4705:43::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4705:43:0;;;:::i;9812:1175::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9812:1175:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9812:1175:0;-1:-1:-1;;;;;9812:1175:0;;:::i;4639:53::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4639:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4639:53:0;;:::i;24547:1189::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24547:1189:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24547:1189:0;-1:-1:-1;;;;;24547:1189:0;;:::i;26749:493::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26749:493:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26749:493:0;-1:-1:-1;;;;;26749:493:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28271:231;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28271:231:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28271:231:0;-1:-1:-1;;;;;28271:231:0;;:::i;25787:282::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25787:282:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;25787:282:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;25787:282:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;25787:282:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;25787:282:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;25787:282:0;;;;;;;;-1:-1:-1;25787:282:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;25787:282:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;25787:282:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;25787:282:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;25787:282:0;;-1:-1:-1;25787:282:0;;-1:-1:-1;;;;;25787:282:0:i;5047:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5047:28:0;;;:::i;:::-;;;;-1:-1:-1;;;;;5047:28:0;;;;;;;;;;;;;;7123:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7123:24:0;;;:::i;26077:161::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26077:161:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;26077:161:0;;;;;;;;;;:::i;23281:210::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23281:210:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23281:210:0;;:::i;5118:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5118:39:0;;;:::i;5161:35::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5161:35:0;;;:::i;7056:38::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7056:38:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7056:38:0;-1:-1:-1;;;;;7056:38:0;;:::i;:::-;;;;;;;-1:-1:-1;;;;;7056:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28132:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28132:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28132:134:0;-1:-1:-1;;;;;28132:134:0;;:::i;28777:526::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28777:526:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;28777:526:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27805:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27805:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27805:116:0;-1:-1:-1;;;;;27805:116:0;;:::i;9263:543::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9263:543:0;;;:::i;5008:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5008:32:0;;;:::i;5079:35::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5079:35:0;;;:::i;26387:211::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26387:211:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26387:211:0;-1:-1:-1;;;;;26387:211:0;;:::i;4542:93::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4542:93:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4542:93:0;;:::i;5628:54::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5628:54:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5628:54:0;-1:-1:-1;;;;;5628:54:0;;:::i;4473:49::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4473:49:0;;;:::i;5572:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5572:49:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5572:49:0;-1:-1:-1;;;;;5572:49:0;;:::i;28510:121::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28510:121:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28510:121:0;-1:-1:-1;;;;;28510:121:0;;:::i;23496:249::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23496:249:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23496:249:0;;:::i;20844:2431::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20844:2431:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20844:2431:0;;;;;;;;;;;;;;;;;:::i;27406:257::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27406:257:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27406:257:0;-1:-1:-1;;;;;27406:257:0;;:::i;4396:19::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4396:19:0;;;:::i;19374:1465::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19374:1465:0;;;:::i;4752:49::-;4796:5;4752:49;:::o;27247:151::-;27318:28;;:::i;:::-;-1:-1:-1;;;;;27367:18:0;;;;;;:5;:18;;;;;;;27359:34;;;;;;;;27367:25;;27359:34;;27367:25;27359:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27247:151;;;:::o;23755:783::-;-1:-1:-1;;;;;23857:18:0;;23823:7;23857:18;;;:5;:18;;;;;23823:7;;23909:596;23933:20;;23929:24;;23909:596;;;23975:14;23992:61;24019:33;24045:6;24019:4;:13;;24033:1;24019:16;;;;;;;;;;;;;;;;;;;;;:21;;:33;:25;:33;:::i;:::-;23992:4;:13;;24006:1;23992:16;;;;;;;;;;;;;;;;;;:22;;;:26;;:61;;;;:::i;:::-;23975:78;;24081:6;24063:4;:15;;;:24;24059:441;;;24108:13;24124:74;4848:5;24124:53;24152:4;:13;;24166:1;24152:16;;;;;;;;;;;;;;;;;;:24;;;24124:4;:13;;24138:1;24124:16;;;;;;;;;;;;;;;;;;:23;;;:27;;:53;;;;:::i;:::-;:57;:74;:57;:74;:::i;:::-;24108:90;;24205:12;24245:4;:15;;;24220:4;:13;;24234:1;24220:16;;;;;;;;;;;;;;;;;;:22;;;:40;:83;;24288:4;:15;;;24220:83;;;24263:4;:13;;24277:1;24263:16;;;;;;;;;;;;;;;;;;:22;;;24220:83;24205:98;;24310:10;24332:15;24323:6;:24;:51;;24359:15;24323:51;;;24350:6;24323:51;24310:64;;24392:2;24385:4;:9;24381:107;;;24418:55;24434:38;4896:6;24434:23;24444:12;:2;24451:4;24444:12;:6;:12;:::i;:::-;24434:5;;:23;:9;:23;:::i;:38::-;24418:11;;:55;:15;:55;:::i;:::-;24404:69;;24381:107;24059:441;;;;-1:-1:-1;23955:3:0;;23909:596;;;-1:-1:-1;24522:11:0;23755:783;-1:-1:-1;;;23755:783:0:o;5689:58::-;;;;;;;;;;;;;:::o;7100:19::-;;;;;;:::o;10998:209::-;-1:-1:-1;;;;;11113:22:0;;;11079:7;11113:22;;;:7;:22;;;;;;;;:30;;;;;;;:45;;;11159:39;;;;11113:45;;;10998:209::o;4421:48::-;4467:2;4421:48;:::o;26603:140::-;-1:-1:-1;;;;;26701:36:0;26670:7;26701:36;;;:23;:36;;;;;;;26603:140::o;4857:45::-;4896:6;4857:45;:::o;4972:29::-;;;;:::o;7867:1384::-;7925:10;7899:17;7919;;;:5;:17;;;;;7995:9;;;;7919:17;;7899;7995:9;;:18;7987:27;;;;;;8069:10;8022:20;8045:35;;;:23;:35;;;;;;:42;;8085:1;8045:42;:39;:42;:::i;:::-;8022:65;;8102:19;8124:28;8141:10;8124:16;:28::i;:::-;8102:50;;8158:21;8182:35;8206:10;8182:23;:35::i;:::-;8158:59;-1:-1:-1;8242:28:0;:11;8258;8242:28;:15;:28;:::i;:::-;8228:42;;8276:21;8300:32;8321:10;8300:20;:32::i;:::-;8276:56;-1:-1:-1;8347:17:0;;8343:102;;8386:1;8373:10;;;:14;8408:30;:11;8424:13;8408:30;:15;:30;:::i;:::-;8394:44;;8343:102;8464:30;:11;8480:13;8464:30;:15;:30;:::i;:::-;8450:44;;8527:1;8513:11;:15;8505:49;;;;;-1:-1:-1;;;8505:49:0;;;;;;;;;;;;-1:-1:-1;;;8505:49:0;;;;;;;;;;;;;;;8579:14;;;;8614:12;;8579:31;;8598:11;8579:31;:18;:31;:::i;:::-;:47;;8571:56;;;;;;8637:23;8663:5;;:30;;;-1:-1:-1;;;8663:30:0;;8687:4;8663:30;;;;;;-1:-1:-1;;;;;8663:5:0;;;;:15;;:30;;;;;;;;;;;;;;;:5;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;8663:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8663:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8663:30:0;;-1:-1:-1;8703:29:0;;;8699:186;;;8754:32;:11;8770:15;8754:32;:15;:32;:::i;:::-;8741:10;;;:45;;;8811:15;;;;:31;;;:19;:31;:::i;:::-;8793:15;;;:49;8863:15;-1:-1:-1;8863:15:0;8699:186;8925:21;;;;:40;;8951:13;8925:40;:25;:40;:::i;:::-;8901:21;;;:64;8996:22;;;;:39;;9023:11;8996:39;:26;:39;:::i;:::-;8971:22;;;:64;9066:15;9048;;;:33;-1:-1:-1;9104:14:0;;;:31;;9123:11;9104:31;:18;:31;:::i;:::-;9087:14;;;:48;9159:14;;:31;;9178:11;9159:31;:18;:31;:::i;:::-;9143:14;:47;9201:5;;;:39;;;-1:-1:-1;;;9201:39:0;;9216:10;9201:39;;;;;;;;;;;;-1:-1:-1;;;;;9201:5:0;;;;:14;;:39;;;;;;;;;;;;;;;;;:5;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;9201:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9201:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;;;;7867:1384:0:o;27926:201::-;27993:7;28002;28024:29;28041:11;28024:16;:29::i;:::-;-1:-1:-1;;;;;28085:18:0;;;;;;:5;:18;;;;;:36;;;28055:29;28091:11;28055:16;:29::i;:::-;:66;28016:106;;;;27926:201;;;:::o;16122:3244::-;16194:13;16284:5;:42;;;-1:-1:-1;;;16284:42:0;;16300:10;16284:42;;;;16320:4;16284:42;;;;;;16218:6;16210:14;;;16250:4;;-1:-1:-1;;;;;16284:5:0;;;;:15;;:42;;;;;;;;;;;;;;;:5;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;16284:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16284:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16284:42:0;16275:51;;;16267:60;;;;;;16374:10;16348:17;16368;;;:5;:17;;;;;16411:7;;;;16406:114;;16444:9;;-1:-1:-1;;;;;16444:9:0;16430:10;:23;16426:88;;;16462:7;:14;;-1:-1:-1;;16462:14:0;16472:4;16462:14;;;16426:88;;;16489:25;;;-1:-1:-1;;;16489:25:0;;;;;;;;;;;;-1:-1:-1;;;16489:25:0;;;;;;;;;;;;;;16426:88;4518:4;16532:5;:26;;16524:35;;;;;;16568:15;16586:21;16603:3;16586:12;:5;16596:1;16586:12;:9;:12;:::i;:21::-;16568:39;-1:-1:-1;16612:14:0;16629:22;16647:3;16629:13;:5;16639:2;16629:13;:9;:13;:::i;:22::-;16701:9;;;16666:5;16612:39;;-1:-1:-1;16666:54:0;;-1:-1:-1;;;;;16666:5:0;;;;16689:10;;16701:9;16712:7;16666:54;:22;:54;:::i;:::-;16764:5;;;16729;:49;;-1:-1:-1;;;;;16729:5:0;;;;16752:10;;16764:5;16771:6;16729:49;:22;:49;:::i;:::-;16822:12;;;16787:5;:57;;-1:-1:-1;;;;;16787:5:0;;;;16810:10;;16822:12;16836:7;16787:57;:22;:57;:::i;:::-;16888:16;;;16853:5;:61;;-1:-1:-1;;;;;16853:5:0;;;;16876:10;;16888:16;16906:7;16853:61;:22;:61;:::i;:::-;16958:12;;;16923:5;:57;;-1:-1:-1;;;;;16923:5:0;;;;16946:10;;16958:12;16972:7;16923:57;:22;:57;:::i;:::-;17002:13;;;;-1:-1:-1;;;;;17002:13:0;16998:393;;-1:-1:-1;;;;;17041:15:0;;17075:1;17041:15;;;:5;:15;;;;;:31;:35;;;;:61;;-1:-1:-1;;;;;;17080:22:0;;17092:10;17080:22;;17041:61;17037:105;;;17111:13;;;:24;;-1:-1:-1;;;;;;17111:24:0;-1:-1:-1;;;;;17111:24:0;;;;;17037:105;17166:13;;;;-1:-1:-1;;;;;17166:13:0;17149:14;17185:195;17209:2;17205:1;:6;17185:195;;;-1:-1:-1;;;;;17229:20:0;;;17225:148;;-1:-1:-1;;;;;17285:13:0;;;;;;:5;:13;;;;;:30;;17313:1;;17285:20;;17306:1;17285:23;;;;;;;;;;:30;:27;:30;:::i;:::-;-1:-1:-1;;;;;17259:13:0;;;;;;:5;:13;;;;;:20;;17280:1;17259:23;;;;;;;;:56;-1:-1:-1;;;;;17332:13:0;;;;;;;:5;:13;;;;;:22;;;;;;;17225:148;;;17368:5;;17225:148;17213:3;;17185:195;;;;16998:393;;17474:10;17396:20;17452:33;;;:21;:33;;;;;;17434:4;;-1:-1:-1;;;;;17452:33:0;:79;17449:229;;-1:-1:-1;17601:10:0;17579:33;;;;:21;:33;;;;;;-1:-1:-1;;;;;17579:33:0;;-1:-1:-1;17449:229:0;17686:49;17700:8;17710:10;17722:12;17686:13;:49::i;:::-;17756:13;;;;-1:-1:-1;;;;;17756:13:0;:27;17752:1049;;17808:13;;;;-1:-1:-1;;;;;17808:13:0;17791:14;17827:962;17851:2;17847:1;:6;17827:962;;;-1:-1:-1;;;;;17871:20:0;;;17867:915;;17923:1;17919;:5;17916:305;;;17934:14;17951:53;4796:5;17951:31;17961:17;17979:1;17961:20;;;;;;;;;;;;;;;;17951:5;:9;;:31;;;;:::i;:53::-;-1:-1:-1;;;;;18015:27:0;;18045:1;18015:27;;;:19;:27;;;;;;17934:70;;-1:-1:-1;18015:31:0;18012:186;;-1:-1:-1;;;;;18078:13:0;;;;;;:5;:13;;;;;:19;;;:31;;18102:6;18078:31;:23;:31;:::i;:::-;-1:-1:-1;;;;;18056:13:0;;;;;;:5;:13;;;;;:19;;;:53;;;;18145:24;;;:36;;18174:6;18145:36;:28;:36;:::i;:::-;-1:-1:-1;;;;;18118:13:0;;;;;;:5;:13;;;;;:24;;:63;18012:186;17916:305;;-1:-1:-1;;;;;18272:13:0;;;;;;:5;:13;;;;;:26;;;:37;;18303:5;18272:37;:30;:37;:::i;:::-;-1:-1:-1;;;;;18243:13:0;;;;;;:5;:13;;;;;:26;;:66;18320:6;18317:408;;-1:-1:-1;;;;;18339:13:0;;;;;;:5;:13;;;;;:20;;:23;18366:1;18339:28;18336:381;;;18394:1;18378:13;18426:32;18440:17;18394:1;18450:6;18440:17;:9;:17;:::i;:::-;18426:9;;;:32;:13;:32;:::i;:::-;18405:53;;18491:10;18472:15;:29;18469:239;;-1:-1:-1;;;;;18533:31:0;;18513:17;18533:31;;;:23;:31;;;;;;:48;;18577:3;;18533:39;;18569:2;18533:39;:35;:39;:::i;:48::-;-1:-1:-1;;;;;18640:13:0;;;;;;:5;:13;;;;;:21;;;18513:68;;-1:-1:-1;18640:36:0;;18513:68;18640:36;:25;:36;:::i;:::-;-1:-1:-1;;;;;18616:13:0;;;;;;:5;:13;;;;;:21;;:60;-1:-1:-1;18469:239:0;18336:381;;;-1:-1:-1;;;;;18741:13:0;;;;;;;:5;:13;;;;;:22;;;;;;;17867:915;;;18777:5;;17867:915;17855:3;;17827:962;;;;17752:1049;;18821:20;;18817:81;;18872:15;18854;;;:33;18817:81;18902:18;18923:22;18941:3;18923:13;:5;18933:2;18923:13;:9;:13;:::i;:22::-;18958:5;;18902:43;;-1:-1:-1;18958:61:0;;-1:-1:-1;;;;;18958:5:0;18981:10;19001:4;18902:43;18958:61;:22;:61;:::i;:::-;19028:4;:13;;19047:53;;;;;;;;19055:4;19047:53;;;;19061:7;;19047:53;;;;19070:5;19047:53;;;;19077:5;19047:53;;;;;;19084:15;19047:53;;;19028:73;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;19028:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19144:52;19157:19;:31;19177:10;-1:-1:-1;;;;;19157:31:0;-1:-1:-1;;;;;19157:31:0;;;;;;;;;;;;;19190:5;19144:12;:52::i;:::-;19130:10;19110:31;;;;:19;:31;;;;;;;;:86;;;;19261:23;:35;;;;19248:56;;19298:5;19248:12;:56::i;:::-;19234:10;19210:35;;;;:23;:35;;;;;:94;19329:13;;:24;;19347:5;19329:24;:17;:24;:::i;:::-;19313:13;:40;-1:-1:-1;;;;;;;;;16122:3244:0:o;5499:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5499:66:0;;;;;:::o;27671:127::-;-1:-1:-1;;;;;27762:18:0;27741:7;27762:18;;;:5;:18;;;;;:31;;;;27671:127::o;28638:131::-;-1:-1:-1;;;;;28735:18:0;28714:7;28735:18;;;:5;:18;;;;;:29;;;;28638:131::o;26243:139::-;26347:13;;26362:14;;26243:139;;:::o;4940:28::-;;;;:::o;4705:43::-;4746:2;4705:43;:::o;9812:1175::-;-1:-1:-1;;;;;9906:15:0;;9873:7;9906:15;;;:5;:15;;;;;9941:9;;;;;;:18;9933:27;;;;;;9977:19;10002;10024:28;10041:10;10024:16;:28::i;:::-;10002:50;;10058:21;10082:35;10106:10;10082:23;:35::i;:::-;10058:59;-1:-1:-1;10142:28:0;:11;10158;10142:28;:15;:28;:::i;:::-;10128:42;;10176:21;10200:32;10221:10;10200:20;:32::i;:::-;10176:56;-1:-1:-1;10247:17:0;;10243:102;;10286:1;10273:10;;;:14;10308:30;:11;10324:13;10308:30;:15;:30;:::i;:::-;10294:44;;10243:102;10364:30;:11;10380:13;10364:30;:15;:30;:::i;:::-;10429:21;;;;10350:44;;-1:-1:-1;10429:40:0;;10455:13;10429:40;:25;:40;:::i;:::-;10405:21;;;:64;10500:22;;;;:39;;10527:11;10500:39;:26;:39;:::i;:::-;10475:22;;;:64;10558:15;10550:49;;;;;-1:-1:-1;;;10550:49:0;;;;;;;;;;;;-1:-1:-1;;;10550:49:0;;;;;;;;;;;;;;;10607:23;10633:5;;:30;;;-1:-1:-1;;;10633:30:0;;10657:4;10633:30;;;;;;-1:-1:-1;;;;;10633:5:0;;;;:15;;:30;;;;;;;;;;;;;;;:5;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;10633:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10633:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10633:30:0;;-1:-1:-1;10673:29:0;;;10669:186;;;10724:32;:11;10740:15;10724:32;:15;:32;:::i;:::-;10711:10;;;:45;;;10781:15;;;;:31;;;:19;:31;:::i;:::-;10763:15;;;:49;10833:15;-1:-1:-1;10833:15:0;10669:186;10880:15;10862;;;:33;10918:14;;;;:31;;10937:11;10918:31;:18;:31;:::i;:::-;10901:14;;;;:48;;;;-1:-1:-1;10967:11:0;;-1:-1:-1;;;;9812:1175:0;;;:::o;4639:53::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4639:53:0;:::o;24547:1189::-;24618:7;24633:26;24665:13;24681:34;24703:11;24681:21;:34::i;:::-;-1:-1:-1;;;;;24730:32:0;;24765:1;24730:32;;;:19;:32;;;;;;24665:50;;-1:-1:-1;24722:45:0;;;;;;24791:1;24774:923;24799:5;24794:1;:10;24774:923;;24817:13;24836:23;24894:30;24909:11;24922:1;24894:14;:30::i;:::-;-1:-1:-1;;;;;24956:22:0;;24932:21;24956:22;;;:5;:22;;;;;24867:57;;-1:-1:-1;24867:57:0;;-1:-1:-1;24956:22:0;24992:699;25016:24;;25012:28;;24992:699;;;25055:14;25072:69;25103:37;25133:6;25103:8;:17;;25121:1;25103:20;;;;;;;:37;25072:8;:17;;25090:1;25072:20;;;;;;;:69;25055:86;;25182:6;25153:8;:17;;25171:1;25153:20;;;;;;;;;;;;;;;;;;:26;;;:35;25149:535;;;25199:13;25215:82;4848:5;25215:61;25247:8;:17;;25265:1;25247:20;;;;;;;;;;;;;;;;;;:28;;;25215:8;:17;;25233:1;25215:20;;;;;;;:82;25199:98;;25306:12;25321:8;:17;;25339:1;25321:20;;;;;;;;;;;;;;;;;;:26;;;25306:41;;25356:10;25378:15;25369:6;:24;:51;;25405:15;25369:51;;;25396:6;25369:51;25356:64;;25453:20;25476:60;4796:5;25476:38;25486:16;25511:1;25503:5;:9;25486:27;;;;;;;;;;;;;;;;25476:5;:9;;:38;;;;:::i;:60::-;25453:83;;25558:2;25551:4;:9;25547:129;;;25595:69;25618:45;4896:6;25618:30;25635:12;:2;25642:4;25635:12;:6;:12;:::i;:::-;25618;;:30;:16;:30;:::i;:45::-;25595:18;;:69;:22;:69;:::i;:::-;25574:90;;25547:129;25149:535;;;;;-1:-1:-1;25042:3:0;;24992:699;;;-1:-1:-1;;24806:3:0;;;;;-1:-1:-1;24774:923:0;;-1:-1:-1;24774:923:0;;-1:-1:-1;25711:18:0;;24547:1189;-1:-1:-1;;;24547:1189:0:o;26749:493::-;-1:-1:-1;;;;;26964:18:0;26820:17;26964:18;;;:5;:18;;;;;:28;;;;27017:36;;;;27077:35;;;;27137:36;;;;27202:34;;;;;26964:28;;27017:36;;27077:35;;27137:36;;26749:493::o;28271:231::-;28342:14;;28363:135;-1:-1:-1;;;;;28387:18:0;;;;;;:5;:18;;;;;:34;28383:38;;28363:135;;;-1:-1:-1;;;;;28454:18:0;;;;;;:5;:18;;;;;:30;;28443:49;;28454:18;28482:1;;28454:30;;;;;;;;;;;;;;;;:37;;;28443:6;:10;;:49;;;;:::i;:::-;28434:58;-1:-1:-1;28423:3:0;;28363:135;;;;28271:231;;;:::o;25787:282::-;7777:9;;-1:-1:-1;;;;;7777:9:0;7790:10;7777:23;7769:32;;;;;;25902:9;25897:165;25921:11;:18;25917:1;:22;25897:165;;;25957:17;25977:5;:21;25983:11;25995:1;25983:14;;;;;;;;;;;;;;-1:-1:-1;;;;;25977:21:0;-1:-1:-1;;;;;25977:21:0;;;;;;;;;;;;25957:41;;26024:27;26041:6;26048:1;26041:9;;;;;;;;;;;;;;26024:4;:12;;;:16;;:27;;;;:::i;:::-;26009:12;;;;:42;25941:3;;25897:165;;;;25787:282;;:::o;5047:28::-;;;-1:-1:-1;;;;;5047:28:0;;:::o;7123:24::-;;;;:::o;26077:161::-;7777:9;;-1:-1:-1;;;;;7777:9:0;7790:10;7777:23;7769:32;;;;;;-1:-1:-1;;;;;26183:18:0;;;;26163:17;26183:18;;;:5;:18;;;;;26212:9;;:18;;-1:-1:-1;;26212:18:0;;;;;;;;;;26077:161::o;23281:210::-;7777:9;;-1:-1:-1;;;;;7777:9:0;7790:10;7777:23;7769:32;;;;;;23356:19;23378:5;;:30;;;-1:-1:-1;;;23378:30:0;;23402:4;23378:30;;;;;;-1:-1:-1;;;;;23378:5:0;;;;:15;;:30;;;;;;;;;;;;;;;:5;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;23378:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23378:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23378:30:0;;-1:-1:-1;23427:20:0;;;;23419:29;;;;;;23453:5;;;:33;;;-1:-1:-1;;;23453:33:0;;23468:10;23453:33;;;;;;;;;;;;-1:-1:-1;;;;;23453:5:0;;;;:14;;:33;;;;;;;;;;;;;;;;;:5;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;23453:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23453:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;23281:210:0:o;5118:39::-;;;-1:-1:-1;;;;;5118:39:0;;:::o;5161:35::-;;;-1:-1:-1;;;;;5161:35:0;;:::o;7056:38::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7056:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;28132:134::-;-1:-1:-1;;;;;28227:18:0;28206:7;28227:18;;;:5;:18;;;;;:34;;28132:134::o;28777:526::-;-1:-1:-1;;;;;28982:18:0;;28861;28982;;;:5;:18;;;;;29035:20;;28861:18;;;;;;;;;;28982;;29049:5;;29035:20;;;;;;;;;;;;;;;;:25;;;29028:32;;29078:4;:13;;29092:5;29078:20;;;;;;;;;;;;;;;;;;:28;;;29065:41;;29120:4;:13;;29134:5;29120:20;;;;;;;;;;;;;;;;;;:27;;;29111:36;;29160:4;:13;;29174:5;29160:20;;;;;;;;;;;;;;;;;;:26;;;29152:34;;29200:48;29231:16;29240:6;29231:4;:8;;:16;;;;:::i;:::-;29200:4;:13;;29214:5;29200:20;;;;;;;:48;29191:57;;29269:4;:13;;29283:5;29269:20;;;;;;;;;;;;;;;;:29;:20;;;;;:29;;28777:526;;;;-1:-1:-1;28777:526:0;;-1:-1:-1;28777:526:0;;29269:29;;;28777:526;-1:-1:-1;;;28777:526:0:o;27805:116::-;-1:-1:-1;;;;;27890:18:0;27869:7;27890:18;;;:5;:18;;;;;:26;;;;27805:116::o;9263:543::-;9327:10;9301:17;9321;;;:5;:17;;;;;9357:9;;;;;;:18;9349:27;;;;;;9406:12;;;;9440:15;9432:47;;;;;-1:-1:-1;;;9432:47:0;;;;;;;;;;;;-1:-1:-1;;;9432:47:0;;;;;;;;;;;;;;;9487:23;9513:5;;:30;;;-1:-1:-1;;;9513:30:0;;9537:4;9513:30;;;;;;-1:-1:-1;;;;;9513:5:0;;;;:15;;:30;;;;;;;;;;;;;;;:5;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;9513:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9513:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9513:30:0;;-1:-1:-1;9557:29:0;;;9549:38;;;;;;9617:1;9602:12;;;:16;9647:20;;;;:37;;9672:11;9647:37;:24;:37;:::i;:::-;9624:20;;;:60;9712:14;;:31;;9731:11;9712:31;:18;:31;:::i;:::-;9695:14;:48;9751:5;;;:39;;;-1:-1:-1;;;9751:39:0;;9766:10;9751:39;;;;;;;;;;;;-1:-1:-1;;;;;9751:5:0;;;;:14;;:39;;;;;;;;;;;;;;;;;:5;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;9751:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9751:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;9263:543:0:o;5008:32::-;;;-1:-1:-1;;;;;5008:32:0;;:::o;5079:35::-;;;-1:-1:-1;;;;;5079:35:0;;:::o;26387:211::-;-1:-1:-1;;;;;26498:18:0;;26462:7;26498:18;;;:5;:18;;;;;26570:21;;;;26532:60;;:33;26504:11;26532:20;:33::i;:::-;:37;:60;:37;:60;:::i;:::-;26524:69;26387:211;-1:-1:-1;;;26387:211:0:o;4542:93::-;;;;;;;;;;5628:54;;;;;;;;;;;;;:::o;4473:49::-;4518:4;4473:49;:::o;5572:::-;;;;;;;;;;;;;:::o;28510:121::-;-1:-1:-1;;;;;28602:18:0;28581:7;28602:18;;;:5;:18;;;;;:24;;;;28510:121::o;23496:249::-;7777:9;;-1:-1:-1;;;;;7777:9:0;7790:10;7777:23;7769:32;;;;;;23581:5;;:42;;;-1:-1:-1;;;23581:42:0;;23597:10;23581:42;;;;23617:4;23581:42;;;;;;-1:-1:-1;;;;;23581:5:0;;;;:15;;:42;;;;;;;;;;;;;;;:5;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;23581:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23581:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23581:42:0;23572:51;;;23564:60;;;;;;23629:18;23676:5;23658:7;23650:15;;;23676:61;;-1:-1:-1;;;;;23676:5:0;23699:10;23719:4;23650:15;23676:61;:22;:61;:::i;:::-;7812:1;23496:249;:::o;20844:2431::-;7777:9;;-1:-1:-1;;;;;7777:9:0;7790:10;7777:23;7769:32;;;;;;-1:-1:-1;;;;;21008:15:0;;;20956:12;21008:15;;;:5;:15;;;;;21098:13;;;;20971:4;;21068:6;21060:14;;;21098:13;21094:391;;-1:-1:-1;;;;;21137:15:0;;21171:1;21137:15;;;:5;:15;;;;;:31;:35;;;;:59;;;21188:8;-1:-1:-1;;;;;21176:20:0;:8;-1:-1:-1;;;;;21176:20:0;;;21137:59;21133:103;;;21205:13;;;:24;;-1:-1:-1;;;;;;21205:24:0;-1:-1:-1;;;;;21205:24:0;;;;;21133:103;21260:13;;;;-1:-1:-1;;;;;21260:13:0;21243:14;21279:195;21303:2;21299:1;:6;21279:195;;;-1:-1:-1;;;;;21323:20:0;;;21319:148;;-1:-1:-1;;;;;21379:13:0;;;;;;:5;:13;;;;;:30;;21407:1;;21379:20;;21400:1;21379:23;;;;;;:30;-1:-1:-1;;;;;21353:13:0;;;;;;:5;:13;;;;;:20;;21374:1;21353:23;;;;;;;;:56;-1:-1:-1;;;;;21426:13:0;;;;;;;:5;:13;;;;;:22;;;;;;;21319:148;;;21462:5;;21319:148;21307:3;;21279:195;;;;21094:391;;-1:-1:-1;;;;;21546:31:0;;;21490:20;21546:31;;;:21;:31;;;;;;21528:4;;21546:31;:77;21543:225;;-1:-1:-1;;;;;;21671:31:0;;;;;;;:21;:31;;;;;;;;;;-1:-1:-1;21543:225:0;21776:47;21790:8;21800;21810:12;21776:13;:47::i;:::-;21844:13;;;;-1:-1:-1;;;;;21844:13:0;:27;21840:1049;;21896:13;;;;-1:-1:-1;;;;;21896:13:0;21879:14;21915:962;21939:2;21935:1;:6;21915:962;;;-1:-1:-1;;;;;21959:20:0;;;21955:915;;22011:1;22007;:5;22004:305;;;22022:14;22039:53;4796:5;22039:31;22049:17;22067:1;22049:20;;;;;;;;;;;;;;;;22039:5;:9;;:31;;;;:::i;:53::-;-1:-1:-1;;;;;22103:27:0;;22133:1;22103:27;;;:19;:27;;;;;;22022:70;;-1:-1:-1;22103:31:0;22100:186;;-1:-1:-1;;;;;22166:13:0;;;;;;:5;:13;;;;;:19;;;:31;;22190:6;22166:31;:23;:31;:::i;:::-;-1:-1:-1;;;;;22144:13:0;;;;;;:5;:13;;;;;:19;;;:53;;;;22233:24;;;:36;;22262:6;22233:36;:28;:36;:::i;:::-;-1:-1:-1;;;;;22206:13:0;;;;;;:5;:13;;;;;:24;;:63;22100:186;22004:305;;-1:-1:-1;;;;;22360:13:0;;;;;;:5;:13;;;;;:26;;;:37;;22391:5;22360:37;:30;:37;:::i;:::-;-1:-1:-1;;;;;22331:13:0;;;;;;:5;:13;;;;;:26;;:66;22408:6;22405:408;;-1:-1:-1;;;;;22427:13:0;;;;;;:5;:13;;;;;:20;;:23;22454:1;22427:28;22424:381;;;22482:1;22466:13;22514:32;22528:17;22482:1;22538:6;22528:17;:9;:17;:::i;22514:32::-;22493:53;;22579:10;22560:15;:29;22557:239;;-1:-1:-1;;;;;22621:31:0;;22601:17;22621:31;;;:23;:31;;;;;;:48;;22665:3;;22621:39;;22657:2;22621:39;:35;:39;:::i;:48::-;-1:-1:-1;;;;;22728:13:0;;;;;;:5;:13;;;;;:21;;;22601:68;;-1:-1:-1;22728:36:0;;22601:68;22728:36;:25;:36;:::i;:::-;-1:-1:-1;;;;;22704:13:0;;;;;;:5;:13;;;;;:21;;:60;-1:-1:-1;22557:239:0;22424:381;;;-1:-1:-1;;;;;22829:13:0;;;;;;;:5;:13;;;;;:22;;;;;;;21955:915;;;22865:5;;21955:915;21943:3;;21915:962;;;;21840:1049;;22909:20;;22905:81;;22960:15;22942;;;:33;22905:81;23015:53;;;;;;;;;;;23029:7;;;23015:53;;;;;;;;;;;;;-1:-1:-1;23015:53:0;;;;;;23052:15;23015:53;;;;;;27:10:-1;;23015:53:0;23:18:-1;;;45:23;;22996:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22996:73:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23123:29:0;;;;:19;:29;;;;;23110:50;;23015:53;23110:12;:50::i;:::-;-1:-1:-1;;;;;23078:29:0;;;;;;:19;:29;;;;;;;;:82;;;;23223:23;:33;;;;23210:54;;23258:5;23210:12;:54::i;:::-;-1:-1:-1;;;;;23174:33:0;;;;;;;:23;:33;;;;;:90;;;;-1:-1:-1;;;;;;20844:2431:0:o;27406:257::-;27478:7;;;27526:102;27544:2;27542:1;:4;27526:102;;;-1:-1:-1;;;;;27588:18:0;;;;;;:5;:18;;;;;:25;;27614:1;27588:28;;;;;;;;;27578:38;;;;;27547:3;;27526:102;;;-1:-1:-1;27645:9:0;27406:257;-1:-1:-1;;27406:257:0:o;4396:19::-;;;-1:-1:-1;;;;;4396:19:0;;:::o;19374:1465::-;19483:10;19415:12;19477:17;;;:5;:17;;;;;19430:4;;19477:17;;19415:12;19532:29;;:17;:29::i;:::-;19514:47;;19588:1;19580:5;:9;19572:18;;;;;;19599:15;19617:21;19634:3;19617:12;:5;19627:1;19617:12;:9;:12;:::i;:21::-;19599:39;-1:-1:-1;19643:14:0;19660:22;19678:3;19660:13;:5;19670:2;19660:13;:9;:13;:::i;:22::-;19697:5;;;19712:9;;19697:34;;;-1:-1:-1;;;19697:34:0;;-1:-1:-1;;;;;19712:9:0;;;19697:34;;;;;;;;;;;;19643:39;;-1:-1:-1;19697:5:0;;;:14;;:34;;;;;;;;;;;;;;;;;;:5;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;19697:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19697:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;19740:5:0;;;19755;;19740:29;;;-1:-1:-1;;;19740:29:0;;-1:-1:-1;;;;;19755:5:0;;;19740:29;;;;;;;;;;;;:5;;;;;:14;;:29;;;;;19697:34;;19740:29;;;;;;;;;;;:5;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;19740:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19740:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;19778:5:0;;;19793:12;;19778:37;;;-1:-1:-1;;;19778:37:0;;-1:-1:-1;;;;;19793:12:0;;;19778:37;;;;;;;;;;;;:5;;;;;:14;;:37;;;;;19740:29;;19778:37;;;;;;;;;;;:5;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;19778:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19778:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;19824:5:0;;;19839:16;;19824:41;;;-1:-1:-1;;;19824:41:0;;-1:-1:-1;;;;;19839:16:0;;;19824:41;;;;;;;;;;;;:5;;;;;:14;;:41;;;;;19778:37;;19824:41;;;;;;;;;;;:5;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;19824:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19824:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;19874:5:0;;;19889:12;;19874:37;;;-1:-1:-1;;;19874:37:0;;-1:-1:-1;;;;;19889:12:0;;;19874:37;;;;;;;;;;;;:5;;;;;:14;;:37;;;;;19824:41;;19874:37;;;;;;;;;;;:5;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;19874:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19874:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;19928:13:0;;;;-1:-1:-1;;;;;19928:13:0;:27;19924:631;;19980:13;;;;-1:-1:-1;;;;;19980:13:0;19963:14;19999:544;20023:2;20019:1;:6;19999:544;;;-1:-1:-1;;;;;20043:20:0;;;20039:497;;20095:1;20091;:5;20088:302;;;20106:14;20123:53;4796:5;20123:31;20133:17;20151:1;20133:20;;;;;;;;;;;;;;;;20123:5;:9;;:31;;;;:::i;:53::-;-1:-1:-1;;;;;20187:27:0;;20217:1;20187:27;;;:19;:27;;;;;;20106:70;;-1:-1:-1;20187:31:0;20184:183;;-1:-1:-1;;;;;20250:13:0;;;;;;:5;:13;;;;;:19;;;:31;;20274:6;20250:31;:23;:31;:::i;:::-;-1:-1:-1;;;;;20228:13:0;;;;;;:5;:13;;;;;:19;;;:53;;;;20317:24;;;:36;;20346:6;20317:36;:28;:36;:::i;:::-;-1:-1:-1;;;;;20290:13:0;;;;;;:5;:13;;;;;:24;;:63;20184:183;20088:302;;-1:-1:-1;;;;;20441:13:0;;;;;;:5;:13;;;;;:26;;;:37;;20472:5;20441:37;:30;:37;:::i;:::-;-1:-1:-1;;;;;20412:13:0;;;;;;;:5;:13;;;;;:26;;;:66;;;;20495:22;;;;;;;20039:497;;;20531:5;;20039:497;20027:3;;19999:544;;;;19924:631;;20590:52;;;;;;;;;;;20604:7;;;20590:52;;;;;;;;;;;;;20620:4;20590:52;;;;;;20626:15;20590:52;;;;;;27:10:-1;;23:18;;;45:23;;-1:-1;20571:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20571:72:0;;;;;;;;;;;;;;;;;;20719:10;20699:31;;:19;:31;;;;20686:52;;20590;20686:12;:52::i;:::-;20672:10;20652:31;;;;:19;:31;;;;;;;;:86;;;;20787:28;;;:39;;20820:5;20787:39;:32;:39;:::i;:::-;20755:4;:28;;:71;;;;19374:1465;;;;;:::o;1629:250::-;1687:7;1711:6;1707:47;;-1:-1:-1;1741:1:0;1734:8;;1707:47;1778:5;;;1782:1;1778;:5;:1;1802:5;;;;;:10;1794:56;;;;-1:-1:-1;;;1794:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1870:1;-1:-1:-1;1629:250:0;;;;;:::o;1248:181::-;1306:7;1338:5;;;1362:6;;;;1354:46;;;;;-1:-1:-1;;;1354:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1887:179;1945:7;1977:1;1973;:5;1965:44;;;;;-1:-1:-1;;;1965:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:9;2036:1;2032;:5;;;;;;;1887:179;-1:-1:-1;;;;1887:179:0:o;1437:184::-;1495:7;1528:1;1523;:6;;1515:49;;;;;-1:-1:-1;;;1515:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1587:5:0;;;1437:184::o;2968:201::-;3092:68;;;-1:-1:-1;;;;;3092:68:0;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3092:68:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;3066:95:0;;3085:5;;3066:18;:95::i;11564:4387::-;-1:-1:-1;;;;;11746:39:0;;;11674:24;11746:39;;;:21;:39;;;;;:73;;-1:-1:-1;;;;;;11746:73:0;;;;;;;;;;:39;11833:20;;;-1:-1:-1;11833:20:0;11830:100;;;11870:48;11885:11;11898:16;11916:1;11870:14;:48::i;:::-;-1:-1:-1;;;;;11984:34:0;;;;;;;:21;:34;;;;;;;;;11950:6;:68;;-1:-1:-1;;;;;;11950:68:0;;;11984:34;;;11950:68;;;;;;;;12063:21;:34;;;;;;12029:6;:68;;;;12063:34;;;12029:68;;;;;;12142:21;:34;;;;;;12108:6;:68;;;;12142:34;;;12108:68;;;;;;12221:21;:34;;;;;;12187:6;:68;;;;12221:34;;;12187:68;;;;;;12300:21;:34;;;;;;12266:6;:68;;;;12300:34;;;12266:68;;;;;;12379:21;:34;;;;;;12345:6;:68;;;;12379:34;;;12345:68;;;;;;12458:21;:34;;;;;;12424:6;:68;;;;12458:34;;;12424:68;;;;;;12537:34;;;;;;;12503:6;:68;;;;12537:34;;;12503:68;;;;;;12616:21;:34;;;;;;12582:7;:68;;;;;12616:34;;;12582:68;;;;12696:6;:52;12693:325;;-1:-1:-1;;;;;12827:34:0;;;;;;;:21;:34;;;;;;;;;12765:39;;;;;:21;:39;;;;;;:96;;-1:-1:-1;;;;;;12765:96:0;12827:34;;;;12765:96;;;12879:20;;;12827:34;12879:20;12876:131;;;-1:-1:-1;;;;;12935:34:0;;;;;;;:21;:34;;;;;;12920:71;;12935:34;12971:16;12989:1;12920:14;:71::i;:::-;13061:6;;-1:-1:-1;;;;;13061:6:0;:52;13058:325;;-1:-1:-1;;;;;13192:34:0;;;;;;;:21;:34;;;;;;;;;13130:39;;;;;:21;:39;;;;;;:96;;-1:-1:-1;;;;;;13130:96:0;13192:34;;;;13130:96;;;13244:20;;;13192:34;13244:20;13241:131;;;-1:-1:-1;;;;;13300:34:0;;;;;;;:21;:34;;;;;;13285:71;;13300:34;13336:16;13354:1;13285:14;:71::i;:::-;13426:6;;-1:-1:-1;;;;;13426:6:0;:52;13423:325;;-1:-1:-1;;;;;13557:34:0;;;;;;;:21;:34;;;;;;;;;13495:39;;;;;:21;:39;;;;;;:96;;-1:-1:-1;;;;;;13495:96:0;13557:34;;;;13495:96;;;13609:20;;;13557:34;13609:20;13606:131;;;-1:-1:-1;;;;;13665:34:0;;;;;;;:21;:34;;;;;;13650:71;;13665:34;13701:16;13719:1;13650:14;:71::i;:::-;13791:6;;-1:-1:-1;;;;;13791:6:0;:52;13788:325;;-1:-1:-1;;;;;13922:34:0;;;;;;;:21;:34;;;;;;;;;13860:39;;;;;:21;:39;;;;;;:96;;-1:-1:-1;;;;;;13860:96:0;13922:34;;;;13860:96;;;13974:20;;;13922:34;13974:20;13971:131;;;-1:-1:-1;;;;;14030:34:0;;;;;;;:21;:34;;;;;;14015:71;;14030:34;14066:16;14084:1;14015:14;:71::i;:::-;14156:6;;-1:-1:-1;;;;;14156:6:0;:52;14153:325;;-1:-1:-1;;;;;14287:34:0;;;;;;;:21;:34;;;;;;;;;14225:39;;;;;:21;:39;;;;;;:96;;-1:-1:-1;;;;;;14225:96:0;14287:34;;;;14225:96;;;14339:20;;;14287:34;14339:20;14336:131;;;-1:-1:-1;;;;;14395:34:0;;;;;;;:21;:34;;;;;;14380:71;;14395:34;14431:16;14449:1;14380:14;:71::i;:::-;14521:6;;-1:-1:-1;;;;;14521:6:0;:52;14518:324;;-1:-1:-1;;;;;14652:34:0;;;;;;;:21;:34;;;;;;;;;14590:39;;;;;:21;:39;;;;;;:96;;-1:-1:-1;;;;;;14590:96:0;14652:34;;;;14590:96;;;14703:20;;;14652:34;14703:20;14700:131;;;-1:-1:-1;;;;;14759:34:0;;;;;;;:21;:34;;;;;;14744:71;;14759:34;14795:16;14813:1;14744:14;:71::i;:::-;14885:6;;-1:-1:-1;;;;;14885:6:0;:52;14882:325;;-1:-1:-1;;;;;15016:34:0;;;;;;;:21;:34;;;;;;;;;14954:39;;;;;;;;;;;:96;;-1:-1:-1;;;;;;14954:96:0;15016:34;;;;14954:96;;;15068:20;;;15016:34;15068:20;15065:131;;;-1:-1:-1;;;;;15124:34:0;;;;;;;:21;:34;;;;;;15109:71;;15124:34;15160:16;15178:1;15109:14;:71::i;:::-;15250:6;;-1:-1:-1;;;;;15250:6:0;:52;15247:325;;-1:-1:-1;;;;;15381:34:0;;;;;;;:21;:34;;;;;;;;15319:39;;;;;:21;:39;;;;;;:96;;-1:-1:-1;;;;;;15319:96:0;15381:34;;;;15319:96;;;15433:20;;;15381:34;15433:20;15430:131;;;-1:-1:-1;;;;;15489:34:0;;;;;;;:21;:34;;;;;;15474:71;;15489:34;15525:16;15543:1;15474:14;:71::i;:::-;15616:7;;-1:-1:-1;;;;;15616:7:0;:53;15613:327;;-1:-1:-1;;;;;15748:34:0;;;;;;;:21;:34;;;;;;;;;15686:40;;;;;:22;:40;;;;;;:96;;-1:-1:-1;;;;;;15686:96:0;15748:34;;;;15686:96;;;15800:20;;;15748:34;15800:20;15797:132;;;-1:-1:-1;;;;;15856:34:0;;;;;;;:21;:34;;;;;;15841:72;;15856:34;15892:16;15910:2;15841:14;:72::i;3527:597::-;3615:26;3634:5;3615:10;:26::i;:::-;3607:70;;;;;-1:-1:-1;;;3607:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3751:12;3765:23;3800:5;-1:-1:-1;;;;;3792:19:0;3812:4;3792:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3792:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3750:67:0;;;;3836:7;3828:52;;;;;-1:-1:-1;;;3828:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3897:17;;:21;3893:224;;4039:10;4028:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4028:30:0;4020:85;;;;-1:-1:-1;;;4020:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11219:333;-1:-1:-1;;;;;11325:29:0;;;;;;;:14;:29;;;;;;;;:31;;;;;;;;;;11421:7;:22;;;;;:30;;;;;;;;:62;;-1:-1:-1;;;;;;11421:62:0;;;;;;;;;;;11494:39;;:50;11219:333::o;4132:165::-;4245:17;4281:8;;;4132:165::o;4306:25165::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;4306:25165:0;;;-1:-1:-1;;4306:25165:0:o
Swarm Source
bzzr://e229fb149e30e5eb1b51386ab1e686be9616eb730dc2ff941ad43b8eee7c0a78
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$985.30
Net Worth in ETH
0.412037
Token Allocations
USD₮0
100.00%
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ARB | 100.00% | $0.998276 | 987 | $985.3 |
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.