Source Code
Latest 25 from a total of 1,915 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Multisend | 19862524 | 675 days ago | IN | 0 ETH | 0.0018047 | ||||
| Demo_game | 12626348 | 1741 days ago | IN | 0 ETH | 0.00013822 | ||||
| Demo_game | 12626347 | 1741 days ago | IN | 0 ETH | 0.00013822 | ||||
| Demo_game | 12626346 | 1741 days ago | IN | 0 ETH | 0.00013822 | ||||
| Demo_game | 12626346 | 1741 days ago | IN | 0 ETH | 0.00013816 | ||||
| Demo_game | 12626330 | 1741 days ago | IN | 0 ETH | 0.00013822 | ||||
| Demo_game | 12626330 | 1741 days ago | IN | 0 ETH | 0.00013822 | ||||
| Demo_game | 12626330 | 1741 days ago | IN | 0 ETH | 0.00013822 | ||||
| Demo_game | 12626330 | 1741 days ago | IN | 0 ETH | 0.00013822 | ||||
| Demo_game | 12626330 | 1741 days ago | IN | 0 ETH | 0.0001384 | ||||
| Multisend | 11814352 | 1866 days ago | IN | 0 ETH | 0.0329624 | ||||
| Game_dice | 11728826 | 1879 days ago | IN | 0.05 ETH | 0.00584405 | ||||
| Transfer | 11666975 | 1889 days ago | IN | 0.05 ETH | 0.00300994 | ||||
| Transfer | 11666798 | 1889 days ago | IN | 0.1 ETH | 0.00236825 | ||||
| Transfer | 11641053 | 1893 days ago | IN | 0.05 ETH | 0.00236825 | ||||
| Transfer | 11619078 | 1896 days ago | IN | 0.05 ETH | 0.00236825 | ||||
| Transfer | 11613297 | 1897 days ago | IN | 0.15 ETH | 0.00307467 | ||||
| Transfer | 11613183 | 1897 days ago | IN | 0.1 ETH | 0.00331555 | ||||
| 0x00000000 | 11592307 | 1900 days ago | IN | 0 ETH | 0.00193616 | ||||
| Multisend | 11562853 | 1905 days ago | IN | 0 ETH | 0.0359084 | ||||
| Transfer | 11526588 | 1910 days ago | IN | 0.25 ETH | 0.0025892 | ||||
| Transfer | 11526559 | 1910 days ago | IN | 0.2 ETH | 0.0025892 | ||||
| Transfer | 11526469 | 1910 days ago | IN | 0.2 ETH | 0.0025892 | ||||
| Transfer | 11526454 | 1910 days ago | IN | 0.2 ETH | 0.0025892 | ||||
| Transfer | 11525758 | 1910 days ago | IN | 0.5 ETH | 0.00161825 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 19862524 | 675 days ago | 0.26264721 ETH | ||||
| - | 11814352 | 1866 days ago | 2.522 ETH | ||||
| - | 11562853 | 1905 days ago | 0.5335 ETH | ||||
| - | 11562853 | 1905 days ago | 0.4365 ETH | ||||
| - | 11448598 | 1922 days ago | 0.0198 ETH | ||||
| - | 11447039 | 1922 days ago | 1.164 ETH | ||||
| - | 11435289 | 1924 days ago | 0.099 ETH | ||||
| - | 11433463 | 1924 days ago | 1.261 ETH | ||||
| - | 11427540 | 1925 days ago | 1.358 ETH | ||||
| - | 11391429 | 1931 days ago | 0.0485 ETH | ||||
| - | 11355279 | 1936 days ago | 0.291 ETH | ||||
| - | 11343647 | 1938 days ago | 0.0485 ETH | ||||
| - | 11343468 | 1938 days ago | 0.0198 ETH | ||||
| - | 11343465 | 1938 days ago | 0.0198 ETH | ||||
| - | 11343449 | 1938 days ago | 0.0198 ETH | ||||
| - | 11322108 | 1941 days ago | 0.291 ETH | ||||
| - | 11268164 | 1950 days ago | 0.2425 ETH | ||||
| - | 11224684 | 1956 days ago | 1.2901 ETH | ||||
| - | 11224326 | 1957 days ago | 0.97 ETH | ||||
| - | 11224318 | 1957 days ago | 1 wei | ||||
| - | 11133130 | 1970 days ago | 0.0582 ETH | ||||
| - | 11126568 | 1972 days ago | 0.097 ETH | ||||
| - | 11126568 | 1972 days ago | 0.0485 ETH | ||||
| - | 11121313 | 1972 days ago | 0.142105 ETH | ||||
| - | 11070820 | 1980 days ago | 0.13095 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PlayToWinGames
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-05-08
*/
/*
╔═══╦╗─╔══╦╗╔╦════╦══╦╗╔╗╔╦══╦╗─╔╗╔══╦══╗
║╔═╗║║─║╔╗║║║╠═╗╔═╣╔╗║║║║║╠╗╔╣╚═╝║╚╗╔╣╔╗║
║╚═╝║║─║╚╝║╚╝║─║║─║║║║║║║║║║║║╔╗─║─║║║║║║
║╔══╣║─║╔╗╠═╗║─║║─║║║║║║║║║║║║║╚╗║─║║║║║║
║║──║╚═╣║║║╔╝║─║║─║╚╝║╚╝╚╝╠╝╚╣║─║╠╦╝╚╣╚╝║
╚╝──╚══╩╝╚╝╚═╝─╚╝─╚══╩═╝╚═╩══╩╝─╚╩╩══╩══╝
*/
//By playing platform games you agree that your age is over 21 and you clearly understand that you can lose your coins
//The platform is not responsible for all Ethereum cryptocurrency losses during the game.
//The contract uses the entropy algorithm Signidice
//https://github.com/gluk256/misc/blob/master/rng4ethereum/signidice.md
//license by cryptogame.bet
pragma solidity 0.5.16;
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a / b;
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b; assert(c >= a);
return c;
}
}
contract PlayToWinGames {
using SafeMath for uint;
address payable public owner = 0x7777773BA6D0FF3cB87E0b09A0A652CA30d48030;
address public CROUPIER_BOB = 0xB0b77786E6C7FAf962e448aC63ee7160ED971931;
uint public minStake = 0.01 ether;
uint public maxStake = 15 ether;
uint public constant WIN_COEFFICIENT = 198;
uint public constant DICE_COEFFICIENT = 600;
mapping(address => uint) public deposit;
mapping(address => uint) public withdrawal;
bool status = true;
enum GameState {
Pending,
Win,
Lose,
Draw
}
enum Games {
CoinFlip,
KNB,
Dice
}
struct Game {
Games game_title;
address payable player;
uint bet;
bytes32 seed;
GameState state;
uint result;
bytes choice;
uint profit;
}
event NewGame(address indexed player, bytes32 seed, uint bet, bytes choice, string game);
event DemoGame(address indexed player, bytes32 seed, uint bet, bytes choice, string game);
event ConfirmGame(address indexed player, string game, uint profit, bytes choice, uint game_choice, bytes32 seed, bool status, bool draw, uint timestamp);
event Deposit(address indexed from, uint indexed block, uint value, uint time);
event Withdrawal(address indexed from, uint indexed block, uint value, uint ident,uint time);
mapping(bytes32 => Game) public listGames;
// Only our croupier and no one else can open the bet
modifier onlyCroupier() {
require(msg.sender == CROUPIER_BOB);
_;
}
// Check that the rate is between 0.01 - 15 ether
modifier betInRange() {
require(minStake <= msg.value && msg.value <= maxStake);
_;
}
modifier onlyOwner {
require(msg.sender == owner); _;
}
modifier isNotContract() {
uint size;
address addr = msg.sender;
assembly { size := extcodesize(addr) }
require(size == 0 && tx.origin == msg.sender);
_;
}
modifier contractIsOn() {
require(status);
_;
}
// Game CoinFlip
// The game of tossing a coin, the coin has 2 sides,
// an eagle and a tails, which one is up to you to choose
function game_coin(bytes memory _choice, bytes32 seed) public betInRange payable returns(uint8) {
string memory game_title = 'CoinFlip';
uint8 user_choice;
assembly {user_choice := mload(add(0x1, _choice))}
require(listGames[seed].bet == 0x0);
require(_choice.length == 1);
require(user_choice == 0 || user_choice == 1);
listGames[seed] = Game({
game_title: Games.CoinFlip,
player: msg.sender,
bet: msg.value,
seed: seed,
state: GameState.Pending,
choice: _choice,
result: 0,
profit: 0
});
emit NewGame(msg.sender, seed, msg.value, _choice, game_title);
return user_choice;
}
// Game KNB
// Game of stone, scissors, paper
// The stone breaks the scissors, the scissors cut the paper, the paper wraps the stone.
// Everything is just kk in childhood, it remains only to try to play
function game_knb(bytes memory _choice, bytes32 seed) public betInRange payable {
string memory game_title = 'KNB';
uint8 user_choice;
assembly {user_choice := mload(add(0x1, _choice))}
require(listGames[seed].bet == 0x0);
require(_choice.length == 1);
//Checking that bids are in the right range
//1 - stone, 2 - scissors, 3 - paper
require(user_choice >=1 && user_choice <=3);
listGames[seed] = Game({
game_title: Games.KNB,
player: msg.sender,
bet: msg.value,
seed: seed,
state: GameState.Pending,
choice: _choice,
result: 0,
profit: 0
});
emit NewGame(msg.sender, seed, msg.value, _choice, game_title);
}
// Game Dice
// Playing dice, the player can select up to 5 dice values at a time. The more dice a player chooses, the less his final reward.
// The reward is calculated according to the formula: (6 / number of selected cubes) * bet
function game_dice(bytes memory _choice, bytes32 seed) public betInRange payable {
string memory game_title = 'Dice';
require(listGames[seed].bet == 0x0);
//Checking that bids are in the right range, and no more than 5 cubes are selected
require(_choice.length >= 1 && _choice.length <= 5);
listGames[seed] = Game({
game_title: Games.Dice,
player: msg.sender,
bet: msg.value,
seed: seed,
state: GameState.Pending,
choice: _choice,
result: 0,
profit: 0
});
emit NewGame(msg.sender, seed, msg.value, _choice, game_title);
}
//Casino must sign the resulting value V with its PrivKey, thus producing the digital signature S = sign(PrivKey, V), and send the corresponding TX, containing S.
//The contract recovers the actual public key (K) from the digital signature S, and verifies that it is equal to the previously published PubKey (K == PubKey).
//If APK does not match PubKey, it is tantamount to cheating. In this case, the contract simply rejects the transaction.
//The contract uses S as a seed for the predefined PRNG algorithm (e.g. SHA-3 based), which produces the lucky number (L), e.g. between 1 and 6.
function confirm(bytes32 seed, uint8 _v, bytes32 _r, bytes32 _s) public onlyCroupier {
// Checking that it was Uncle Bob who signed the transaction, otherwise we reject the impostor transaction
require (ecrecover(seed, _v, _r, _s) == CROUPIER_BOB);
Game storage game = listGames[seed];
bytes memory choice = game.choice;
game.result = uint256(_s) % 12;
uint profit = 0;
uint8 user_choice;
//Our algorithms are very simple and understandable even to the average Internet user and do not need additional explanation
//Coin game algorithm
if (game.game_title == Games.CoinFlip){
assembly {user_choice := mload(add(0x1, choice))}
if(game.result == user_choice){
profit = game.bet.mul(WIN_COEFFICIENT).div(100);
game.state = GameState.Win;
game.profit = profit;
game.player.transfer(profit);
emit ConfirmGame(game.player, 'CoinFlip', profit, game.choice, game.result, game.seed, true, false, now);
}else{
game.state = GameState.Lose;
emit ConfirmGame(game.player, 'CoinFlip', 0, game.choice, game.result, game.seed, false, false, now);
}
//KNB game algorithm
}else if(game.game_title == Games.KNB){
assembly {user_choice := mload(add(0x1, choice))}
if(game.result != user_choice){
if (user_choice == 1 && game.result == 2 || user_choice == 2 && game.result == 3 || user_choice == 3 && game.result == 1) {
profit = game.bet.mul(WIN_COEFFICIENT).div(100);
game.state = GameState.Win;
game.profit = profit;
game.player.transfer(profit);
emit ConfirmGame(game.player, 'KNB', profit, game.choice, game.result, game.seed, true, false, now);
}else{
game.state = GameState.Lose;
emit ConfirmGame(game.player, 'KNB', 0, game.choice, game.result, game.seed, false, false, now);
}
}else{
profit = game.bet.sub(0.001 ether);
game.player.transfer(profit);
game.state = GameState.Draw;
emit ConfirmGame(game.player, 'KNB', profit, game.choice, game.result, game.seed, false, true, now);
}
//Dice game algorithm
}else if(game.game_title == Games.Dice){
uint length = game.choice.length + 1;
for(uint8 i=1; i< length; i++){
assembly {user_choice := mload(add(i, choice))}
if (user_choice == game.result){
profit = game.bet.mul(DICE_COEFFICIENT.div(game.choice.length)).div(100);
}
}
if(profit > 0){
game.state = GameState.Win;
game.profit = profit;
game.player.transfer(profit);
emit ConfirmGame(game.player, 'Dice', profit, game.choice, game.result, game.seed, true, false, now);
}else{
game.state = GameState.Lose;
emit ConfirmGame(game.player, 'Dice', 0, game.choice, game.result, game.seed, false, false, now);
}
}
}
// Demo game, 0 ether value. To reduce the cost of the game, we calculate a random result on the server
function demo_game(string memory game, bytes memory _choice, bytes32 seed, uint bet) public {
emit DemoGame(msg.sender, seed, bet, _choice, game);
}
function get_player_choice(bytes32 seed) public view returns(bytes memory) {
Game storage game = listGames[seed];
return game.choice;
}
//The casino has its own expenses for maintaining the servers, paying for them, each signature by our bot Bob costs 0.00135 ether
//and we honestly believe that the money that players own is ours, everyone can try their luck and play with us
function pay_royalty (uint _value) onlyOwner public {
owner.transfer(_value * 1 ether);
}
//automatic withdrawal using server bot
function multisend(address payable[] memory dests, uint256[] memory values, uint256[] memory ident) onlyOwner contractIsOn public returns(uint) {
uint256 i = 0;
while (i < dests.length) {
uint transfer_value = values[i].sub(values[i].mul(3).div(100));
dests[i].transfer(transfer_value);
withdrawal[dests[i]]+=values[i];
emit Withdrawal(dests[i], block.number, values[i], ident[i], now);
i += 1;
}
return(i);
}
function startProphylaxy()onlyOwner public {
status = false;
}
function stopProphylaxy()onlyOwner public {
status = true;
}
// recharge function for games
function() external isNotContract contractIsOn betInRange payable {
deposit[msg.sender]+= msg.value;
emit Deposit(msg.sender, block.number, msg.value, now);
}
}
//🅿🅻🅰🆈🆃🅾🆆🅸🅽.🅸🅾Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"string","name":"game","type":"string"},{"indexed":false,"internalType":"uint256","name":"profit","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"choice","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"game_choice","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"seed","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"},{"indexed":false,"internalType":"bool","name":"draw","type":"bool"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"ConfirmGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"bytes32","name":"seed","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"bet","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"choice","type":"bytes"},{"indexed":false,"internalType":"string","name":"game","type":"string"}],"name":"DemoGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"uint256","name":"block","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"bytes32","name":"seed","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"bet","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"choice","type":"bytes"},{"indexed":false,"internalType":"string","name":"game","type":"string"}],"name":"NewGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"uint256","name":"block","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ident","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"Withdrawal","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"CROUPIER_BOB","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DICE_COEFFICIENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WIN_COEFFICIENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"seed","type":"bytes32"},{"internalType":"uint8","name":"_v","type":"uint8"},{"internalType":"bytes32","name":"_r","type":"bytes32"},{"internalType":"bytes32","name":"_s","type":"bytes32"}],"name":"confirm","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"game","type":"string"},{"internalType":"bytes","name":"_choice","type":"bytes"},{"internalType":"bytes32","name":"seed","type":"bytes32"},{"internalType":"uint256","name":"bet","type":"uint256"}],"name":"demo_game","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"_choice","type":"bytes"},{"internalType":"bytes32","name":"seed","type":"bytes32"}],"name":"game_coin","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"_choice","type":"bytes"},{"internalType":"bytes32","name":"seed","type":"bytes32"}],"name":"game_dice","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"_choice","type":"bytes"},{"internalType":"bytes32","name":"seed","type":"bytes32"}],"name":"game_knb","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"seed","type":"bytes32"}],"name":"get_player_choice","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"listGames","outputs":[{"internalType":"enum PlayToWinGames.Games","name":"game_title","type":"uint8"},{"internalType":"address payable","name":"player","type":"address"},{"internalType":"uint256","name":"bet","type":"uint256"},{"internalType":"bytes32","name":"seed","type":"bytes32"},{"internalType":"enum PlayToWinGames.GameState","name":"state","type":"uint8"},{"internalType":"uint256","name":"result","type":"uint256"},{"internalType":"bytes","name":"choice","type":"bytes"},{"internalType":"uint256","name":"profit","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable[]","name":"dests","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"uint256[]","name":"ident","type":"uint256[]"}],"name":"multisend","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"pay_royalty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"startProphylaxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stopProphylaxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"withdrawal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]Contract Creation Code
6080604052737777773ba6d0ff3cb87e0b09a0a652ca30d480306000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b0b77786e6c7faf962e448ac63ee7160ed971931600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550662386f26fc1000060025567d02ab486cedc00006003556001600660006101000a81548160ff0219169083151502179055503480156100eb57600080fd5b506130e5806100fb6000396000f3fe6080604052600436106101145760003560e01c8063a59fb2b0116100a0578063cc1b99e611610064578063cc1b99e614610aa2578063e0d015e214610c15578063ea1b28e014610c2c578063f340fa0114610c57578063f957eff214610cbc57610114565b8063a59fb2b014610574578063a7222dcd14610653578063b00606a514610780578063b4d4c5dc146107dc578063bb73fd8f146109dd57610114565b806369b0551e116100e757806369b0551e14610396578063756c3957146103ad5780638da5cb5b1461046157806396131049146104b8578063a5242d281461051d57610114565b80630bfb2a49146102405780632f7d746e1461027b57806334a0006314610340578063375b3c0a1461036b575b600080339050803b915060008214801561015957503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16145b61016257600080fd5b600660009054906101000a900460ff1661017b57600080fd5b346002541115801561018f57506003543411155b61019857600080fd5b34600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550433373ffffffffffffffffffffffffffffffffffffffff167f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e3442604051808381526020018281526020019250505060405180910390a35050005b34801561024c57600080fd5b506102796004803603602081101561026357600080fd5b8101908080359060200190929190505050610ce7565b005b61033e6004803603604081101561029157600080fd5b81019080803590602001906401000000008111156102ae57600080fd5b8201836020820111156102c057600080fd5b803590602001918460018302840111640100000000831117156102e257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610db5565b005b34801561034c57600080fd5b506103556110fb565b6040518082815260200191505060405180910390f35b34801561037757600080fd5b50610380611101565b6040518082815260200191505060405180910390f35b3480156103a257600080fd5b506103ab611107565b005b3480156103b957600080fd5b506103e6600480360360208110156103d057600080fd5b810190808035906020019092919050505061117d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561042657808201518184015260208101905061040b565b50505050905090810190601f1680156104535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561046d57600080fd5b5061047661123b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104c457600080fd5b50610507600480360360208110156104db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611260565b6040518082815260200191505060405180910390f35b34801561052957600080fd5b50610532611278565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106376004803603604081101561058a57600080fd5b81019080803590602001906401000000008111156105a757600080fd5b8201836020820111156105b957600080fd5b803590602001918460018302840111640100000000831117156105db57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061129e565b604051808260ff1660ff16815260200191505060405180910390f35b34801561065f57600080fd5b5061068c6004803603602081101561067657600080fd5b81019080803590602001909291905050506115e8565b6040518089600281111561069c57fe5b60ff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681526020018560038111156106ee57fe5b60ff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561073e578082015181840152602081019050610723565b50505050905090810190601f16801561076b5780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34801561078c57600080fd5b506107da600480360360808110156107a357600080fd5b8101908080359060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611702565b005b3480156107e857600080fd5b506109c7600480360360608110156107ff57600080fd5b810190808035906020019064010000000081111561081c57600080fd5b82018360208201111561082e57600080fd5b8035906020019184602083028401116401000000008311171561085057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156108b057600080fd5b8201836020820111156108c257600080fd5b803590602001918460208302840111640100000000831117156108e457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561094457600080fd5b82018360208201111561095657600080fd5b8035906020019184602083028401116401000000008311171561097857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050612852565b6040518082815260200191505060405180910390f35b610aa0600480360360408110156109f357600080fd5b8101908080359060200190640100000000811115610a1057600080fd5b820183602082011115610a2257600080fd5b80359060200191846001830284011164010000000083111715610a4457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050612ab4565b005b348015610aae57600080fd5b50610c1360048036036080811015610ac557600080fd5b8101908080359060200190640100000000811115610ae257600080fd5b820183602082011115610af457600080fd5b80359060200191846001830284011164010000000083111715610b1657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b7957600080fd5b820183602082011115610b8b57600080fd5b80359060200191846001830284011164010000000083111715610bad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190505050612ddd565b005b348015610c2157600080fd5b50610c2a612f13565b005b348015610c3857600080fd5b50610c41612f89565b6040518082815260200191505060405180910390f35b348015610c6357600080fd5b50610ca660048036036020811015610c7a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f8f565b6040518082815260200191505060405180910390f35b348015610cc857600080fd5b50610cd1612fa7565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d4057600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc670de0b6b3a764000083029081150290604051600060405180830381858888f19350505050158015610db1573d6000803e3d6000fd5b5050565b3460025411158015610dc957506003543411155b610dd257600080fd5b60606040518060400160405280600381526020017f4b4e42000000000000000000000000000000000000000000000000000000000081525090506000836001015190506000600760008581526020019081526020016000206001015414610e3857600080fd5b6001845114610e4657600080fd5b60018160ff1610158015610e5e575060038160ff1611155b610e6757600080fd5b60405180610100016040528060016002811115610e8057fe5b81526020013373ffffffffffffffffffffffffffffffffffffffff16815260200134815260200184815260200160006003811115610eba57fe5b81526020016000815260200185815260200160008152506007600085815260200190815260200160002060008201518160000160006101000a81548160ff02191690836002811115610f0857fe5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030160006101000a81548160ff02191690836003811115610f8c57fe5b021790555060a0820151816004015560c0820151816005019080519060200190610fb792919061300b565b5060e082015181600601559050503373ffffffffffffffffffffffffffffffffffffffff167f1c646349faeb8f989c08de33da36105039d60131795e41b9e0459ac465ed702d84348786604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611051578082015181840152602081019050611036565b50505050905090810190601f16801561107e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156110b757808201518184015260208101905061109c565b50505050905090810190601f1680156110e45780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250505050565b61025881565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461116057600080fd5b6001600660006101000a81548160ff021916908315150217905550565b60606000600760008481526020019081526020016000209050806005018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561122e5780601f106112035761010080835404028352916020019161122e565b820191906000526020600020905b81548152906001019060200180831161121157829003601f168201915b5050505050915050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600034600254111580156112b457506003543411155b6112bd57600080fd5b60606040518060400160405280600881526020017f436f696e466c69700000000000000000000000000000000000000000000000008152509050600084600101519050600060076000868152602001908152602001600020600101541461132357600080fd5b600185511461133157600080fd5b60008160ff161480611346575060018160ff16145b61134f57600080fd5b6040518061010001604052806000600281111561136857fe5b81526020013373ffffffffffffffffffffffffffffffffffffffff168152602001348152602001858152602001600060038111156113a257fe5b81526020016000815260200186815260200160008152506007600086815260200190815260200160002060008201518160000160006101000a81548160ff021916908360028111156113f057fe5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030160006101000a81548160ff0219169083600381111561147457fe5b021790555060a0820151816004015560c082015181600501908051906020019061149f92919061300b565b5060e082015181600601559050503373ffffffffffffffffffffffffffffffffffffffff167f1c646349faeb8f989c08de33da36105039d60131795e41b9e0459ac465ed702d85348886604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561153957808201518184015260208101905061151e565b50505050905090810190601f1680156115665780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561159f578082015181840152602081019050611584565b50505050905090810190601f1680156115cc5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2809250505092915050565b60076020528060005260406000206000915090508060000160009054906101000a900460ff16908060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff1690806004015490806005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116f25780601f106116c7576101008083540402835291602001916116f2565b820191906000526020600020905b8154815290600101906020018083116116d557829003601f168201915b5050505050908060060154905088565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461175c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660018585858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156117f2573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff161461181c57600080fd5b60006007600086815260200190815260200160002090506060816005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118cd5780601f106118a2576101008083540402835291602001916118cd565b820191906000526020600020905b8154815290600101906020018083116118b057829003601f168201915b50505050509050600c8360001c816118e157fe5b068260040181905550600080905060008060028111156118fd57fe5b8460000160009054906101000a900460ff16600281111561191a57fe5b1415611d1257826001015190508060ff1684600401541415611b7457611961606461195360c68760010154612fac90919063ffffffff16565b612fdb90919063ffffffff16565b915060018460030160006101000a81548160ff0219169083600381111561198457fe5b02179055508184600601819055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156119fc573d6000803e3d6000fd5b508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62483866005018760040154886002015460016000426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260088152602001807f436f696e466c6970000000000000000000000000000000000000000000000000815250602001838103825289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611b5a5780601f10611b2f57610100808354040283529160200191611b5a565b820191906000526020600020905b815481529060010190602001808311611b3d57829003601f168201915b5050995050505050505050505060405180910390a2611d0d565b60028460030160006101000a81548160ff02191690836003811115611b9557fe5b02179055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62460008660050187600401548860020154600080426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260088152602001807f436f696e466c6970000000000000000000000000000000000000000000000000815250602001838103825289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611cf75780601f10611ccc57610100808354040283529160200191611cf7565b820191906000526020600020905b815481529060010190602001808311611cda57829003601f168201915b5050995050505050505050505060405180910390a25b612848565b60016002811115611d1f57fe5b8460000160009054906101000a900460ff166002811115611d3c57fe5b14156123b457826001015190508060ff1684600401541461218b5760018160ff16148015611d6e575060028460040154145b80611d8c575060028160ff16148015611d8b575060038460040154145b5b80611daa575060038160ff16148015611da9575060018460040154145b5b15611fed57611dda6064611dcc60c68760010154612fac90919063ffffffff16565b612fdb90919063ffffffff16565b915060018460030160006101000a81548160ff02191690836003811115611dfd57fe5b02179055508184600601819055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611e75573d6000803e3d6000fd5b508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62483866005018760040154886002015460016000426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260038152602001807f4b4e420000000000000000000000000000000000000000000000000000000000815250602001838103825289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611fd35780601f10611fa857610100808354040283529160200191611fd3565b820191906000526020600020905b815481529060010190602001808311611fb657829003601f168201915b5050995050505050505050505060405180910390a2612186565b60028460030160006101000a81548160ff0219169083600381111561200e57fe5b02179055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62460008660050187600401548860020154600080426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260038152602001807f4b4e4200000000000000000000000000000000000000000000000000000000008152506020018381038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121705780601f1061214557610100808354040283529160200191612170565b820191906000526020600020905b81548152906001019060200180831161215357829003601f168201915b5050995050505050505050505060405180910390a25b6123af565b6121a966038d7ea4c680008560010154612ff490919063ffffffff16565b91508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612215573d6000803e3d6000fd5b5060038460030160006101000a81548160ff0219169083600381111561223757fe5b02179055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62483866005018760040154886002015460006001426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260038152602001807f4b4e4200000000000000000000000000000000000000000000000000000000008152506020018381038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156123995780601f1061236e57610100808354040283529160200191612399565b820191906000526020600020905b81548152906001019060200180831161237c57829003601f168201915b5050995050505050505050505060405180910390a25b612847565b6002808111156123c057fe5b8460000160009054906101000a900460ff1660028111156123dd57fe5b14156128465760006001856005018054600181600116156101000203166002900490500190506000600190505b818160ff1610156124905784810151925085600401548360ff16141561248357612480606461247261245f89600501805460018160011615610100020316600290049050610258612fdb90919063ffffffff16565b8960010154612fac90919063ffffffff16565b612fdb90919063ffffffff16565b93505b808060010191505061240a565b5060008311156126ab5760018560030160006101000a81548160ff021916908360038111156124bb57fe5b02179055508285600601819055508460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612533573d6000803e3d6000fd5b508460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62484876005018860040154896002015460016000426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260048152602001807f44696365000000000000000000000000000000000000000000000000000000008152506020018381038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156126915780601f1061266657610100808354040283529160200191612691565b820191906000526020600020905b81548152906001019060200180831161267457829003601f168201915b5050995050505050505050505060405180910390a2612844565b60028560030160006101000a81548160ff021916908360038111156126cc57fe5b02179055508460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62460008760050188600401548960020154600080426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260048152602001807f446963650000000000000000000000000000000000000000000000000000000081525060200183810382528981815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561282e5780601f106128035761010080835404028352916020019161282e565b820191906000526020600020905b81548152906001019060200180831161281157829003601f168201915b5050995050505050505050505060405180910390a25b505b5b5b5050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128ad57600080fd5b600660009054906101000a900460ff166128c657600080fd5b60008090505b8451811015612aa9576000612936612914606461290660038987815181106128f057fe5b6020026020010151612fac90919063ffffffff16565b612fdb90919063ffffffff16565b86848151811061292057fe5b6020026020010151612ff490919063ffffffff16565b905085828151811061294457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612991573d6000803e3d6000fd5b5084828151811061299e57fe5b6020026020010151600560008885815181106129b657fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555043868381518110612a1257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f887e73c01568cecc3fe477a39c098f6599306a7592db9c8941dfc71ff9046d06878581518110612a5d57fe5b6020026020010151878681518110612a7157fe5b60200260200101514260405180848152602001838152602001828152602001935050505060405180910390a3600182019150506128cc565b809150509392505050565b3460025411158015612ac857506003543411155b612ad157600080fd5b60606040518060400160405280600481526020017f446963650000000000000000000000000000000000000000000000000000000081525090506000600760008481526020019081526020016000206001015414612b2e57600080fd5b6001835110158015612b4257506005835111155b612b4b57600080fd5b604051806101000160405280600280811115612b6357fe5b81526020013373ffffffffffffffffffffffffffffffffffffffff16815260200134815260200183815260200160006003811115612b9d57fe5b81526020016000815260200184815260200160008152506007600084815260200190815260200160002060008201518160000160006101000a81548160ff02191690836002811115612beb57fe5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030160006101000a81548160ff02191690836003811115612c6f57fe5b021790555060a0820151816004015560c0820151816005019080519060200190612c9a92919061300b565b5060e082015181600601559050503373ffffffffffffffffffffffffffffffffffffffff167f1c646349faeb8f989c08de33da36105039d60131795e41b9e0459ac465ed702d83348685604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612d34578082015181840152602081019050612d19565b50505050905090810190601f168015612d615780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612d9a578082015181840152602081019050612d7f565b50505050905090810190601f168015612dc75780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2505050565b3373ffffffffffffffffffffffffffffffffffffffff167f7d0ffe8ecd69a54f608e1b8817673120d5c588d556437db48109f9660ae09bc283838688604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612e69578082015181840152602081019050612e4e565b50505050905090810190601f168015612e965780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612ecf578082015181840152602081019050612eb4565b50505050905090810190601f168015612efc5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f6c57600080fd5b6000600660006101000a81548160ff021916908315150217905550565b60035481565b60046020528060005260406000206000915090505481565b60c681565b60008082840290506000841480612fcb575082848281612fc857fe5b04145b612fd157fe5b8091505092915050565b600080828481612fe757fe5b0490508091505092915050565b60008282111561300057fe5b818303905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061304c57805160ff191683800117855561307a565b8280016001018555821561307a579182015b8281111561307957825182559160200191906001019061305e565b5b509050613087919061308b565b5090565b6130ad91905b808211156130a9576000816000905550600101613091565b5090565b9056fea265627a7a72315820b51d755618935ec3c4dbda3bb4ed1f9a9f69d88a5989532f9780671a919a560864736f6c63430005100032
Deployed Bytecode
0x6080604052600436106101145760003560e01c8063a59fb2b0116100a0578063cc1b99e611610064578063cc1b99e614610aa2578063e0d015e214610c15578063ea1b28e014610c2c578063f340fa0114610c57578063f957eff214610cbc57610114565b8063a59fb2b014610574578063a7222dcd14610653578063b00606a514610780578063b4d4c5dc146107dc578063bb73fd8f146109dd57610114565b806369b0551e116100e757806369b0551e14610396578063756c3957146103ad5780638da5cb5b1461046157806396131049146104b8578063a5242d281461051d57610114565b80630bfb2a49146102405780632f7d746e1461027b57806334a0006314610340578063375b3c0a1461036b575b600080339050803b915060008214801561015957503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16145b61016257600080fd5b600660009054906101000a900460ff1661017b57600080fd5b346002541115801561018f57506003543411155b61019857600080fd5b34600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550433373ffffffffffffffffffffffffffffffffffffffff167f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e3442604051808381526020018281526020019250505060405180910390a35050005b34801561024c57600080fd5b506102796004803603602081101561026357600080fd5b8101908080359060200190929190505050610ce7565b005b61033e6004803603604081101561029157600080fd5b81019080803590602001906401000000008111156102ae57600080fd5b8201836020820111156102c057600080fd5b803590602001918460018302840111640100000000831117156102e257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610db5565b005b34801561034c57600080fd5b506103556110fb565b6040518082815260200191505060405180910390f35b34801561037757600080fd5b50610380611101565b6040518082815260200191505060405180910390f35b3480156103a257600080fd5b506103ab611107565b005b3480156103b957600080fd5b506103e6600480360360208110156103d057600080fd5b810190808035906020019092919050505061117d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561042657808201518184015260208101905061040b565b50505050905090810190601f1680156104535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561046d57600080fd5b5061047661123b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104c457600080fd5b50610507600480360360208110156104db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611260565b6040518082815260200191505060405180910390f35b34801561052957600080fd5b50610532611278565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106376004803603604081101561058a57600080fd5b81019080803590602001906401000000008111156105a757600080fd5b8201836020820111156105b957600080fd5b803590602001918460018302840111640100000000831117156105db57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061129e565b604051808260ff1660ff16815260200191505060405180910390f35b34801561065f57600080fd5b5061068c6004803603602081101561067657600080fd5b81019080803590602001909291905050506115e8565b6040518089600281111561069c57fe5b60ff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681526020018560038111156106ee57fe5b60ff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561073e578082015181840152602081019050610723565b50505050905090810190601f16801561076b5780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34801561078c57600080fd5b506107da600480360360808110156107a357600080fd5b8101908080359060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611702565b005b3480156107e857600080fd5b506109c7600480360360608110156107ff57600080fd5b810190808035906020019064010000000081111561081c57600080fd5b82018360208201111561082e57600080fd5b8035906020019184602083028401116401000000008311171561085057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156108b057600080fd5b8201836020820111156108c257600080fd5b803590602001918460208302840111640100000000831117156108e457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561094457600080fd5b82018360208201111561095657600080fd5b8035906020019184602083028401116401000000008311171561097857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050612852565b6040518082815260200191505060405180910390f35b610aa0600480360360408110156109f357600080fd5b8101908080359060200190640100000000811115610a1057600080fd5b820183602082011115610a2257600080fd5b80359060200191846001830284011164010000000083111715610a4457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050612ab4565b005b348015610aae57600080fd5b50610c1360048036036080811015610ac557600080fd5b8101908080359060200190640100000000811115610ae257600080fd5b820183602082011115610af457600080fd5b80359060200191846001830284011164010000000083111715610b1657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b7957600080fd5b820183602082011115610b8b57600080fd5b80359060200191846001830284011164010000000083111715610bad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190505050612ddd565b005b348015610c2157600080fd5b50610c2a612f13565b005b348015610c3857600080fd5b50610c41612f89565b6040518082815260200191505060405180910390f35b348015610c6357600080fd5b50610ca660048036036020811015610c7a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f8f565b6040518082815260200191505060405180910390f35b348015610cc857600080fd5b50610cd1612fa7565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d4057600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc670de0b6b3a764000083029081150290604051600060405180830381858888f19350505050158015610db1573d6000803e3d6000fd5b5050565b3460025411158015610dc957506003543411155b610dd257600080fd5b60606040518060400160405280600381526020017f4b4e42000000000000000000000000000000000000000000000000000000000081525090506000836001015190506000600760008581526020019081526020016000206001015414610e3857600080fd5b6001845114610e4657600080fd5b60018160ff1610158015610e5e575060038160ff1611155b610e6757600080fd5b60405180610100016040528060016002811115610e8057fe5b81526020013373ffffffffffffffffffffffffffffffffffffffff16815260200134815260200184815260200160006003811115610eba57fe5b81526020016000815260200185815260200160008152506007600085815260200190815260200160002060008201518160000160006101000a81548160ff02191690836002811115610f0857fe5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030160006101000a81548160ff02191690836003811115610f8c57fe5b021790555060a0820151816004015560c0820151816005019080519060200190610fb792919061300b565b5060e082015181600601559050503373ffffffffffffffffffffffffffffffffffffffff167f1c646349faeb8f989c08de33da36105039d60131795e41b9e0459ac465ed702d84348786604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611051578082015181840152602081019050611036565b50505050905090810190601f16801561107e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156110b757808201518184015260208101905061109c565b50505050905090810190601f1680156110e45780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250505050565b61025881565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461116057600080fd5b6001600660006101000a81548160ff021916908315150217905550565b60606000600760008481526020019081526020016000209050806005018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561122e5780601f106112035761010080835404028352916020019161122e565b820191906000526020600020905b81548152906001019060200180831161121157829003601f168201915b5050505050915050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600034600254111580156112b457506003543411155b6112bd57600080fd5b60606040518060400160405280600881526020017f436f696e466c69700000000000000000000000000000000000000000000000008152509050600084600101519050600060076000868152602001908152602001600020600101541461132357600080fd5b600185511461133157600080fd5b60008160ff161480611346575060018160ff16145b61134f57600080fd5b6040518061010001604052806000600281111561136857fe5b81526020013373ffffffffffffffffffffffffffffffffffffffff168152602001348152602001858152602001600060038111156113a257fe5b81526020016000815260200186815260200160008152506007600086815260200190815260200160002060008201518160000160006101000a81548160ff021916908360028111156113f057fe5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030160006101000a81548160ff0219169083600381111561147457fe5b021790555060a0820151816004015560c082015181600501908051906020019061149f92919061300b565b5060e082015181600601559050503373ffffffffffffffffffffffffffffffffffffffff167f1c646349faeb8f989c08de33da36105039d60131795e41b9e0459ac465ed702d85348886604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561153957808201518184015260208101905061151e565b50505050905090810190601f1680156115665780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561159f578082015181840152602081019050611584565b50505050905090810190601f1680156115cc5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2809250505092915050565b60076020528060005260406000206000915090508060000160009054906101000a900460ff16908060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff1690806004015490806005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116f25780601f106116c7576101008083540402835291602001916116f2565b820191906000526020600020905b8154815290600101906020018083116116d557829003601f168201915b5050505050908060060154905088565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461175c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660018585858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156117f2573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff161461181c57600080fd5b60006007600086815260200190815260200160002090506060816005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118cd5780601f106118a2576101008083540402835291602001916118cd565b820191906000526020600020905b8154815290600101906020018083116118b057829003601f168201915b50505050509050600c8360001c816118e157fe5b068260040181905550600080905060008060028111156118fd57fe5b8460000160009054906101000a900460ff16600281111561191a57fe5b1415611d1257826001015190508060ff1684600401541415611b7457611961606461195360c68760010154612fac90919063ffffffff16565b612fdb90919063ffffffff16565b915060018460030160006101000a81548160ff0219169083600381111561198457fe5b02179055508184600601819055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156119fc573d6000803e3d6000fd5b508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62483866005018760040154886002015460016000426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260088152602001807f436f696e466c6970000000000000000000000000000000000000000000000000815250602001838103825289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611b5a5780601f10611b2f57610100808354040283529160200191611b5a565b820191906000526020600020905b815481529060010190602001808311611b3d57829003601f168201915b5050995050505050505050505060405180910390a2611d0d565b60028460030160006101000a81548160ff02191690836003811115611b9557fe5b02179055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62460008660050187600401548860020154600080426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260088152602001807f436f696e466c6970000000000000000000000000000000000000000000000000815250602001838103825289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611cf75780601f10611ccc57610100808354040283529160200191611cf7565b820191906000526020600020905b815481529060010190602001808311611cda57829003601f168201915b5050995050505050505050505060405180910390a25b612848565b60016002811115611d1f57fe5b8460000160009054906101000a900460ff166002811115611d3c57fe5b14156123b457826001015190508060ff1684600401541461218b5760018160ff16148015611d6e575060028460040154145b80611d8c575060028160ff16148015611d8b575060038460040154145b5b80611daa575060038160ff16148015611da9575060018460040154145b5b15611fed57611dda6064611dcc60c68760010154612fac90919063ffffffff16565b612fdb90919063ffffffff16565b915060018460030160006101000a81548160ff02191690836003811115611dfd57fe5b02179055508184600601819055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611e75573d6000803e3d6000fd5b508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62483866005018760040154886002015460016000426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260038152602001807f4b4e420000000000000000000000000000000000000000000000000000000000815250602001838103825289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611fd35780601f10611fa857610100808354040283529160200191611fd3565b820191906000526020600020905b815481529060010190602001808311611fb657829003601f168201915b5050995050505050505050505060405180910390a2612186565b60028460030160006101000a81548160ff0219169083600381111561200e57fe5b02179055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62460008660050187600401548860020154600080426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260038152602001807f4b4e4200000000000000000000000000000000000000000000000000000000008152506020018381038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121705780601f1061214557610100808354040283529160200191612170565b820191906000526020600020905b81548152906001019060200180831161215357829003601f168201915b5050995050505050505050505060405180910390a25b6123af565b6121a966038d7ea4c680008560010154612ff490919063ffffffff16565b91508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612215573d6000803e3d6000fd5b5060038460030160006101000a81548160ff0219169083600381111561223757fe5b02179055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62483866005018760040154886002015460006001426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260038152602001807f4b4e4200000000000000000000000000000000000000000000000000000000008152506020018381038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156123995780601f1061236e57610100808354040283529160200191612399565b820191906000526020600020905b81548152906001019060200180831161237c57829003601f168201915b5050995050505050505050505060405180910390a25b612847565b6002808111156123c057fe5b8460000160009054906101000a900460ff1660028111156123dd57fe5b14156128465760006001856005018054600181600116156101000203166002900490500190506000600190505b818160ff1610156124905784810151925085600401548360ff16141561248357612480606461247261245f89600501805460018160011615610100020316600290049050610258612fdb90919063ffffffff16565b8960010154612fac90919063ffffffff16565b612fdb90919063ffffffff16565b93505b808060010191505061240a565b5060008311156126ab5760018560030160006101000a81548160ff021916908360038111156124bb57fe5b02179055508285600601819055508460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612533573d6000803e3d6000fd5b508460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62484876005018860040154896002015460016000426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260048152602001807f44696365000000000000000000000000000000000000000000000000000000008152506020018381038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156126915780601f1061266657610100808354040283529160200191612691565b820191906000526020600020905b81548152906001019060200180831161267457829003601f168201915b5050995050505050505050505060405180910390a2612844565b60028560030160006101000a81548160ff021916908360038111156126cc57fe5b02179055508460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62460008760050188600401548960020154600080426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260048152602001807f446963650000000000000000000000000000000000000000000000000000000081525060200183810382528981815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561282e5780601f106128035761010080835404028352916020019161282e565b820191906000526020600020905b81548152906001019060200180831161281157829003601f168201915b5050995050505050505050505060405180910390a25b505b5b5b5050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128ad57600080fd5b600660009054906101000a900460ff166128c657600080fd5b60008090505b8451811015612aa9576000612936612914606461290660038987815181106128f057fe5b6020026020010151612fac90919063ffffffff16565b612fdb90919063ffffffff16565b86848151811061292057fe5b6020026020010151612ff490919063ffffffff16565b905085828151811061294457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612991573d6000803e3d6000fd5b5084828151811061299e57fe5b6020026020010151600560008885815181106129b657fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555043868381518110612a1257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f887e73c01568cecc3fe477a39c098f6599306a7592db9c8941dfc71ff9046d06878581518110612a5d57fe5b6020026020010151878681518110612a7157fe5b60200260200101514260405180848152602001838152602001828152602001935050505060405180910390a3600182019150506128cc565b809150509392505050565b3460025411158015612ac857506003543411155b612ad157600080fd5b60606040518060400160405280600481526020017f446963650000000000000000000000000000000000000000000000000000000081525090506000600760008481526020019081526020016000206001015414612b2e57600080fd5b6001835110158015612b4257506005835111155b612b4b57600080fd5b604051806101000160405280600280811115612b6357fe5b81526020013373ffffffffffffffffffffffffffffffffffffffff16815260200134815260200183815260200160006003811115612b9d57fe5b81526020016000815260200184815260200160008152506007600084815260200190815260200160002060008201518160000160006101000a81548160ff02191690836002811115612beb57fe5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030160006101000a81548160ff02191690836003811115612c6f57fe5b021790555060a0820151816004015560c0820151816005019080519060200190612c9a92919061300b565b5060e082015181600601559050503373ffffffffffffffffffffffffffffffffffffffff167f1c646349faeb8f989c08de33da36105039d60131795e41b9e0459ac465ed702d83348685604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612d34578082015181840152602081019050612d19565b50505050905090810190601f168015612d615780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612d9a578082015181840152602081019050612d7f565b50505050905090810190601f168015612dc75780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2505050565b3373ffffffffffffffffffffffffffffffffffffffff167f7d0ffe8ecd69a54f608e1b8817673120d5c588d556437db48109f9660ae09bc283838688604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612e69578082015181840152602081019050612e4e565b50505050905090810190601f168015612e965780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612ecf578082015181840152602081019050612eb4565b50505050905090810190601f168015612efc5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f6c57600080fd5b6000600660006101000a81548160ff021916908315150217905550565b60035481565b60046020528060005260406000206000915090505481565b60c681565b60008082840290506000841480612fcb575082848281612fc857fe5b04145b612fd157fe5b8091505092915050565b600080828481612fe757fe5b0490508091505092915050565b60008282111561300057fe5b818303905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061304c57805160ff191683800117855561307a565b8280016001018555821561307a579182015b8281111561307957825182559160200191906001019061305e565b5b509050613087919061308b565b5090565b6130ad91905b808211156130a9576000816000905550600101613091565b5090565b9056fea265627a7a72315820b51d755618935ec3c4dbda3bb4ed1f9a9f69d88a5989532f9780671a919a560864736f6c63430005100032
Deployed Bytecode Sourcemap
1712:10956:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3672:9;3692:12;3707:10;3692:25;;3759:4;3747:17;3739:25;;3792:1;3784:4;:9;:36;;;;;3810:10;3797:23;;:9;:23;;;3784:36;3776:45;;;;;;3896:6;;;;;;;;;;;3888:15;;;;;;3488:9;3476:8;;:21;;:46;;;;;3514:8;;3501:9;:21;;3476:46;3468:55;;;;;;12583:9;12561:7;:19;12569:10;12561:19;;;;;;;;;;;;;;;;:31;;;;;;;;;;;12628:12;12616:10;12608:49;;;12642:9;12653:3;12608:49;;;;;;;;;;;;;;;;;;;;;;;;12484:181;;1712:10956;11583:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11583:103:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11583:103:0;;;;;;;;;;;;;;;;;:::i;:::-;;5095:825;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5095:825:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5095:825:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5095:825:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5095:825:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5095:825:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2061:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2061:43:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1934:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1934:33:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12368:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12368:74:0;;;:::i;:::-;;11161:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11161:158:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11161:158:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11161:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1773:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1773:74:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2157:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2157:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2157:42:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1854:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1854:73:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4074:784;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4074:784:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4074:784:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4074:784:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4074:784:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;4074:784:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3165:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3165:41:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3165:41:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3165:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7491:3381;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7491:3381:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;7491:3381:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11743:525;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11743:525:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11743:525:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11743:525:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11743:525: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;11743:525:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11743:525:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11743:525:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11743:525: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;11743:525:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11743:525:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11743:525:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11743:525: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;11743:525:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11743:525:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6181:693;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6181:693:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6181:693:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6181:693:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6181:693:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;6181:693:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10987:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10987:162:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;10987:162:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;10987:162:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10987:162:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;10987:162:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;10987:162:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;10987:162:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10987:162:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;10987:162:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;10987:162:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12280:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12280:76:0;;;:::i;:::-;;1974:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1974:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2111:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2111:39:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2111:39:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2012:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2012:42:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11583:103;3607:5;;;;;;;;;;;3593:19;;:10;:19;;;3585:28;;;;;;11646:5;;;;;;;;;;;:14;;:32;11670:7;11661:6;:16;11646:32;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11646:32:0;11583:103;:::o;5095:825::-;3488:9;3476:8;;:21;;:46;;;;;3514:8;;3501:9;:21;;3476:46;3468:55;;;;;;5186:24;:32;;;;;;;;;;;;;;;;;;;5229:17;5297:7;5292:3;5288:17;5282:24;5267:39;;5348:3;5325:9;:15;5335:4;5325:15;;;;;;;;;;;:19;;;:26;5317:35;;;;;;5389:1;5371:7;:14;:19;5363:28;;;;;;5523:1;5509:11;:15;;;;:34;;;;;5542:1;5528:11;:15;;;;5509:34;5501:43;;;;;;5583:257;;;;;;;;5615:9;5583:257;;;;;;;;;;;;5647:10;5583:257;;;;;;5677:9;5583:257;;;;5707:4;5583:257;;;;5733:17;5583:257;;;;;;;;;;;;5803:1;5583:257;;;;5773:7;5583:257;;;;5827:1;5583:257;;;5565:9;:15;5575:4;5565:15;;;;;;;;;;;:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5863:10;5855:57;;;5875:4;5881:9;5892:7;5901:10;5855:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5855:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5855:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:1;;5095:825;;:::o;2061:43::-;2101:3;2061:43;:::o;1934:33::-;;;;:::o;12368:74::-;3607:5;;;;;;;;;;;3593:19;;:10;:19;;;3585:28;;;;;;12430:4;12421:6;;:13;;;;;;;;;;;;;;;;;;12368:74::o;11161:158::-;11222:12;11247:17;11267:9;:15;11277:4;11267:15;;;;;;;;;;;11247:35;;11300:4;:11;;11293:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11161:158;;;:::o;1773:74::-;;;;;;;;;;;;;:::o;2157:42::-;;;;;;;;;;;;;;;;;:::o;1854:73::-;;;;;;;;;;;;;:::o;4074:784::-;4163:5;3488:9;3476:8;;:21;;:46;;;;;3514:8;;3501:9;:21;;3476:46;3468:55;;;;;;4181:24;:37;;;;;;;;;;;;;;;;;;;4229:17;4297:7;4292:3;4288:17;4282:24;4267:39;;4348:3;4325:9;:15;4335:4;4325:15;;;;;;;;;;;:19;;;:26;4317:35;;;;;;4389:1;4371:7;:14;:19;4363:28;;;;;;4425:1;4410:11;:16;;;:36;;;;4445:1;4430:11;:16;;;4410:36;4402:45;;;;;;4486:262;;;;;;;;4518:14;4486:262;;;;;;;;;;;;4555:10;4486:262;;;;;;4585:9;4486:262;;;;4615:4;4486:262;;;;4641:17;4486:262;;;;;;;;;;;;4711:1;4486:262;;;;4681:7;4486:262;;;;4735:1;4486:262;;;4468:9;:15;4478:4;4468:15;;;;;;;;;;;:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4772:10;4764:57;;;4784:4;4790:9;4801:7;4810:10;4764:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4764:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4764:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4839:11;4832:18;;;;4074:784;;;;:::o;3165:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7491:3381::-;3335:12;;;;;;;;;;;3321:26;;:10;:26;;;3313:35;;;;;;7743:12;;;;;;;;;;;7712:43;;:27;7722:4;7728:2;7732;7736;7712:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7712:27:0;;;;;;;;:43;;;7703:53;;;;;;7767:17;7787:9;:15;7797:4;7787:15;;;;;;;;;;;7767:35;;7813:19;7835:4;:11;;7813:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7885:2;7879;7871:11;;:16;;;;;;7857:4;:11;;:30;;;;7898:11;7912:1;7898:15;;7924:17;8140:14;8121:33;;;;;;;;:4;:15;;;;;;;;;;;;:33;;;;;;;;;8117:2748;;;8210:6;8205:3;8201:16;8195:23;8180:38;;8251:11;8236:26;;:4;:11;;;:26;8233:551;;;8291:38;8325:3;8291:29;2051:3;8291:4;:8;;;:12;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;8282:47;;8361:13;8348:4;:10;;;:26;;;;;;;;;;;;;;;;;;;;;;;;8407:6;8393:4;:11;;:20;;;;8432:4;:11;;;;;;;;;;;;:20;;:28;8453:6;8432:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8432:28:0;8496:4;:11;;;;;;;;;;;;8484:99;;;8521:6;8529:4;:11;;8542:4;:11;;;8555:4;:9;;;8566:4;8572:5;8579:3;8484:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8233:551;;;8635:14;8622:4;:10;;;:27;;;;;;;;;;;;;;;;;;;;;;;;8685:4;:11;;;;;;;;;;;;8673:95;;;8710:1;8713:4;:11;;8726:4;:11;;;8739:4;:9;;;8750:5;8757;8764:3;8673:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8233:551;8117:2748;;;8852:9;8833:28;;;;;;;;:4;:15;;;;;;;;;;;;:28;;;;;;;;;8830:2035;;;8917:6;8912:3;8908:16;8902:23;8887:38;;8958:11;8943:26;;:4;:11;;;:26;8940:1017;;9008:1;8993:11;:16;;;:36;;;;;9028:1;9013:4;:11;;;:16;8993:36;:76;;;;9048:1;9033:11;:16;;;:36;;;;;9068:1;9053:4;:11;;;:16;9033:36;8993:76;:116;;;;9088:1;9073:11;:16;;;:36;;;;;9108:1;9093:4;:11;;;:16;9073:36;8993:116;8989:669;;;9143:38;9177:3;9143:29;2051:3;9143:4;:8;;;:12;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;9134:47;;9217:13;9204:4;:10;;;:26;;;;;;;;;;;;;;;;;;;;;;;;9267:6;9253:4;:11;;:20;;;;9296:4;:11;;;;;;;;;;;;:20;;:28;9317:6;9296:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9296:28:0;9364:4;:11;;;;;;;;;;;;9352:94;;;9384:6;9392:4;:11;;9405:4;:11;;;9418:4;:9;;;9429:4;9435:5;9442:3;9352:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8989:669;;;9506:14;9493:4;:10;;;:27;;;;;;;;;;;;;;;;;;;;;;;;9560:4;:11;;;;;;;;;;;;9548:90;;;9580:1;9583:4;:11;;9596:4;:11;;;9609:4;:9;;;9620:5;9627;9634:3;9548:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8989:669;8940:1017;;;9705:25;9718:11;9705:4;:8;;;:12;;:25;;;;:::i;:::-;9696:34;;9749:4;:11;;;;;;;;;;;;:20;;:28;9770:6;9749:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9749:28:0;9809:14;9796:4;:10;;;:27;;;;;;;;;;;;;;;;;;;;;;;;9859:4;:11;;;;;;;;;;;;9847:94;;;9879:6;9887:4;:11;;9900:4;:11;;;9913:4;:9;;;9924:5;9931:4;9937:3;9847:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8940:1017;8830:2035;;;10026:10;10007:29;;;;;;;;:4;:15;;;;;;;;;;;;:29;;;;;;;;;10004:861;;;10052:11;10087:1;10066:4;:11;;:18;;;;;;;;;;;;;;;;:22;10052:36;;10107:7;10115:1;10107:9;;10103:276;10121:6;10118:1;:9;;;10103:276;;;10191:6;10188:1;10184:14;10178:21;10162:37;;10237:4;:11;;;10222;:26;;;10218:146;;;10281:63;10340:3;10281:54;10294:40;10315:4;:11;;:18;;;;;;;;;;;;;;;;2101:3;10294:20;;:40;;;;:::i;:::-;10281:4;:8;;;:12;;:54;;;;:::i;:::-;:58;;:63;;;;:::i;:::-;10272:72;;10218:146;10129:3;;;;;;;10103:276;;;;10405:1;10396:6;:10;10393:461;;;10439:13;10426:4;:10;;;:26;;;;;;;;;;;;;;;;;;;;;;;;10485:6;10471:4;:11;;:20;;;;10510:4;:11;;;;;;;;;;;;:20;;:28;10531:6;10510:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10510:28:0;10574:4;:11;;;;;;;;;;;;10562:95;;;10595:6;10603:4;:11;;10616:4;:11;;;10629:4;:9;;;10640:4;10646:5;10653:3;10562:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10393:461;;;10709:14;10696:4;:10;;;:27;;;;;;;;;;;;;;;;;;;;;;;;10759:4;:11;;;;;;;;;;;;10747:91;;;10780:1;10783:4;:11;;10796:4;:11;;;10809:4;:9;;;10820:5;10827;10834:3;10747:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10393:461;10004:861;;8830:2035;8117:2748;3359:1;;;;7491:3381;;;;:::o;11743:525::-;11881:4;3607:5;;;;;;;;;;;3593:19;;:10;:19;;;3585:28;;;;;;3896:6;;;;;;;;;;;3888:15;;;;;;11898:9;11910:1;11898:13;;11932:309;11943:5;:12;11939:1;:16;11932:309;;;11972:19;11994:40;12008:25;12029:3;12008:16;12022:1;12008:6;12015:1;12008:9;;;;;;;;;;;;;;:13;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;11994:6;12001:1;11994:9;;;;;;;;;;;;;;:13;;:40;;;;:::i;:::-;11972:62;;12049:5;12055:1;12049:8;;;;;;;;;;;;;;:17;;:33;12067:14;12049:33;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12049:33:0;12119:6;12126:1;12119:9;;;;;;;;;;;;;;12097:10;:20;12108:5;12114:1;12108:8;;;;;;;;;;;;;;12097:20;;;;;;;;;;;;;;;;:31;;;;;;;;;;;12169:12;12159:5;12165:1;12159:8;;;;;;;;;;;;;;12148:60;;;12183:6;12190:1;12183:9;;;;;;;;;;;;;;12194:5;12200:1;12194:8;;;;;;;;;;;;;;12204:3;12148:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12228:1;12223:6;;;;11932:309;;;;12258:1;12251:9;;;11743:525;;;;;:::o;6181:693::-;3488:9;3476:8;;:21;;:46;;;;;3514:8;;3501:9;:21;;3476:46;3468:55;;;;;;6273:24;:33;;;;;;;;;;;;;;;;;;;6348:3;6325:9;:15;6335:4;6325:15;;;;;;;;;;;:19;;;:26;6317:35;;;;;;6481:1;6463:7;:14;:19;;:42;;;;;6504:1;6486:7;:14;:19;;6463:42;6455:51;;;;;;6535:258;;;;;;;;6567:10;6535:258;;;;;;;;;;;;6600:10;6535:258;;;;;;6630:9;6535:258;;;;6660:4;6535:258;;;;6686:17;6535:258;;;;;;;;;;;;6756:1;6535:258;;;;6726:7;6535:258;;;;6780:1;6535:258;;;6517:9;:15;6527:4;6517:15;;;;;;;;;;;:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6817:10;6809:57;;;6829:4;6835:9;6846:7;6855:10;6809:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6809:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6809:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:1;6181:693;;:::o;10987:162::-;11104:10;11095:46;;;11116:4;11122:3;11127:7;11136:4;11095:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11095:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11095:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10987:162;;;;:::o;12280:76::-;3607:5;;;;;;;;;;;3593:19;;:10;:19;;;3585:28;;;;;;12343:5;12334:6;;:14;;;;;;;;;;;;;;;;;;12280:76::o;1974:31::-;;;;:::o;2111:39::-;;;;;;;;;;;;;;;;;:::o;2012:42::-;2051:3;2012:42;:::o;1181:147::-;1239:7;1255:9;1271:1;1267;:5;1255:17;;1291:1;1286;:6;:20;;;;1305:1;1300;1296;:5;;;;;;:10;1286:20;1279:28;;;;1321:1;1314:8;;;1181:147;;;;:::o;1334:112::-;1392:7;1408:9;1424:1;1420;:5;;;;;;1408:17;;1439:1;1432:8;;;1334:112;;;;:::o;1452:115::-;1510:7;1538:1;1533;:6;;1526:14;;;;1559:1;1555;:5;1548:12;;1452:115;;;;:::o;1712:10956::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://b51d755618935ec3c4dbda3bb4ed1f9a9f69d88a5989532f9780671a919a5608
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.