ETH Price: $3,299.27 (-1.40%)
 

Overview

Max Total Supply

1,000,000,000 GFROG

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: GFROG 2
Balance
642,142,975.832447701 GFROG

Value
$0.00
0xaf26a4a51c2ddf1f31f6b78339206485eda148c8
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
GayFrog

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-11-14
*/

// SPDX-License-Identifier: MIT

/*

THEY'RE TURNING THE FROGS GAY

Telegram: https://t.me/GayFrogToken

X: https://x.com/gayfrogeth

*/

/*
                                                                             ..........'''''''''''''''''''''''''.........                                                                             
                                                                        ......'''''''''''''''''''''''''''''''''''''''''''''''......                                                                     
                                                                  ....''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''....                                                                
                                                            .....'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''....                                                          
                                                        ...''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''...                                                      
                                                    ...''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''...                                                  
                                                 ...''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''....                                              
                                              ..''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''...                                           
                                          ..',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'..                                        
                                       .,cooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooolloooolc;.                                     
                                     .:odxxxxxxxdddxxxxxddddddddxxxxxxddxxxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddxxxdoc'.                                  
                                  .,ldxxxxxxxdddddxxxxxxxdddddxxxdoolcccccccloddxxxxxxdddddddxxdddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxxxxxxxxxddxxdl;.                                
                                 .;cllloooddxddddxxxxxddxxxxdoc:;,,''''''''',,,;;:lodxxdddddddddxdddddddddddddddddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxdxxddxxo:.                              
                              ..'''''''',,,;;:cldxxdxxxdxdl;,,,,,;;;;;;:::::::;;,'',;:odxxdxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddxxxxxxxxxxxxxddxddxxdc'                            
                            .';;::::::;;;;;;,,'',:ldxdxo:,'',;::;:;;;;;::::;;;;;;;:;,'';cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxddxddc'                          
                          .';;:::;;;;;;;;;;;::;;,'',lo:'',;:::;;:;;;;;;:::;;;;;;;:;;;;;,',cdxddddxxxxxxxxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddxxxdxdc'                        
                         .;:;;;:;;;;;;;;;;;;;;;;::;'...,;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;,';oxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxdxdoc.                      
                       .,;:;;:;;;;;;;;;;;;;;;;;;:::;'.,:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxddxxxo;.                    
                     .';;;::;;;;;;;;;;;;;;;;;;;:;;::,..;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxdl,                   
                    .;;;;:::;;;;;;;;;;::;;::::;;;;;::..,:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;''lxxdxxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxd:.                 
                  .,;;:::::;::;;;:::::::::::;;;;;::;:'.,:;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:;.,oxdxxxdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddxo,                
                 .;;;;;;;:::;;;,''''''''''''''''',;;;'.,:;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;:;;::::,.:dxxddxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxxd:.              
               .';:;:;;:;,,''..''',,,,,;;;,,,,,'''''...',;;:;;:;;;;;;;;;;;;;;;;::;;;;;;:;::;;::''lxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxddxxdl.             
              .,;;::;;'''.'',;;::;;;;;;;;;;;;;;;;::;;,'''.''',;;;;;:::::;;;;;;;;;;;;;::::::::::,.:dddxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxo,            
             .,;;:;,..',;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;,''.',;,,''''''''''''''''''''''',,,;;.'oxddddxddxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd;.          
            .;:;,'..,;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;,'...'',,,;;;;;;;;;;;;;;;,,,''''''..,lodddxxxxdxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxxxxxdxxxd:.         
           .;;;'.',::;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;::,..,::::;;;;;;;;:;;;;::;;;::::;;;,'',,;:ldxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd:.        
          .;:;;,;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;'.';:;;:;;;;:::::;;;;;;;:::;;;:::;:;,'',:dOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo.       
         .;:;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;'.';;;:;;;;;;;;;;;;;;;;;;;;;;;;;::::;;,',:d0KKKKXKXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXXKKKKKKKKKKx.      
        .;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;:;;:;,..;:;;::;;;;;;;;;;;;;;;;;;;;;;:::::;;;;,';dKXKXXXXXXXXXXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXKKXXXXXKKKd.     
       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;,..,;:;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;::;::''l0KKKXXXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXKKXKo.    
      .,;;:;;;;;::;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;:::::;;:;;:;..,:;;:;;;;;;;;;;;;;;:;;;;;::;;;;;;;:;;:;':OXKKXXKKXXXXXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXKKXX0c.   
     .,:;;;::;;::::::::;;;;;,,,,,''...................'''''''',,;;;:;;:;..,:;;;:;;;;;;;;;::;;;;;;;;::::;;:::::::;.:0XKKKXKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKO;   
     ';;;;;;;;;::;;,'''''''.......''''',,,,,,,,,,,''...'',,,,,'''''',;;:;..;:::;;;;;;;;;;;;;;;;;;,,'''''''''',,,;''dKKXXXKXXXXKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXk'  
    .;;;;:;;;;;;,'..',,,;;;;;;;;;::::::;;;;;;::;::::;,,''.'';:::;;,,'..';,..;::;;;;;;;;;;;:::;'..'''',,,,,,,'''''..:dk0KXXXXXXKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKXXKKo. 
   .,:;::;;;;,'..,;;::::;;:;;;,''''''''''''',,;;::::;;:::;,'..',;;;::;,'..',;::;:;;;;;;;;;::;,',;::;;;,''''''''''','',;cdOKXXKKXKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKX0; 
   .;;;;:;;;'..,;::;;;;;,,''.'''''',,,,,,'''''''''',;;;;:;;;;,'..',;:;;:;,..,;;;;;:::::;;:;;::;,,'...'''''',,,'''''''''.',:xKKKXKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKXXKXXx.
  .,:;;;;:,..,;;;;::;,'..',,;;;;;;::::::::::;;;;;,''.''',;:;;;;;,'..,;;;;;;,..;;;;;;;;;;;::;,'..'',;;;;;,,,,,;;;::;;,,'....':kKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0c
  .;;;;;:,..;;;;:;,..',;;::;;;;;;;;;;;;;::;;;;;::;;:;;,'..',;;;;;:;'..',;:::;..,;::;;;::;,'..',;;,'...'''''''''''''',;::;,...c0KXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKXx
 .,::;;:'.';:;;;,..';:::;;:;;;;::;;;;;:;;:;;;;:;;;;;;:::;,'''',;;:;:;,'..,::;;'.,;::;;;'.'',;;'..'',,;;;:;:::;;;;,''..',;:,.:OKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKXXXXXK0
 .;;::;'.';;;;,...''',,,,,,,,,,,,,,,,,;;,,,,,,,,,,,,,,'''',''...',,;;:;,'.';:;;..;:;;;;',;:;'...''.'''...'.',,,;::;;;;'..,;':0XXKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKX
 ':;::'.';::;'...'cdddddoooooollloc.  ....             'oxxkkOO00kl;';:;:,..,::,.':::;;;;;,'.               ;lc:,',,;;;;'.'.cKXKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
.;:;::,..,''..,;,,;cd0NWWMMMMMMWWO;   ;xOo.            .lXMMMMMMWWWKo',;:;;..';,.';;:;;:;';;.               .kNXKkoc:,',,'..dKXKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
.;;::;;;,'',;;;;::;,,,:dOXWMMMMWx.   .oKXk,     .;:;.   .xWMWMMMWWWWNx,';;:;'.',';:;;;:,':;. .lxc.           ,0WWMMWX0xoc,.,kKXXXKKKKKKKKKKKKKKKKXXXXXXXXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXX
';:::;:;;;;;;;;;;;;:::;,,;lxKNWO.     .,:'     .xNWWO'   cNMMMMMMMMMMWd',:;:;..,:;;:;:,'ll.  ;0NO,    .;loc.  lNWMMMMMMMWXd';kXKKKKKKKKKKKKKKKKKKXXXXXXXKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
,:;::;;;;;;;;;;;;;;;;::;:;,',:l,      .xX0;    .dXWXk'   ;XMMMMMMMMMMMNo.,;;:,.';;;;:,.ok'    .'.     cXWWWk. ,0MMMMMMMMMWO,.lOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
;:;::;;;;;;;;;;;::;;::;,,;::;;,'..    .lkd'     .';'.    :XMMMMMMMMMMMMKc';;:;.';;:;;.cKd.    .;c,    .o0KO:. .kMMMMMMMWNk;...;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;:;;;;;;;;;;;;;;;;;;;;;'.',;;;;:;;,'..                  .dWMMMMMMMMMMMMW0:';:;;;;:;;.,ONc     :XWO'     ..    ,0MMMWWMNOc',,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
;;;;;;;;;;;;;;;;;;;;;;;;;'..,;;;;:;;:;,''..             ;KMMMMMMMMMMMMWWWK:.;:;;:;;,.,lo'     .,:'           .kWWWNKko:,';;..',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
;;;;;;;;;;;;;;;;;;;;;;;;:;;,..',;;::;;:::;;,,'...      'OWWMMMMMMMMMWN0kol;...';;;;:;;,,.... .              .;lllc:,',;:;;'..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
;;;;;;;;;;;;;;;;;;;;;;;::;;;;;,'..',;;;::;;;;::;;,,'...,cloddxxxddolc:,',,,;;..,;;:;:::::;;;;;,,,,,,,,,,,,,,,,,,;;;;::;,'..',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
;;;;;;;;;;;;;;;;;;;;;;;;;::;;::;;,''...''',,;;;;;:::::;;;,,,'',',,',;;;;;;;,'.';:;:;'',;;;;;:;;;;;;;;;:;:;;;;::;::::;;'...',,,,,,,,,,,,,,,,,,''''',,,,,,,,,,,,,,,,,,,,,,,,,,''''''......',,,,,,,,,,,,,,,
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;,,''''''''''''''',,,,,,,;;;,,,,''..'..',;:;::;'...'',;;;:::::;;;;;::;;;;,,,,''....,,,,,,,,,,,,''.............................................''...',,,,,,,,,,,,,,,
,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;:;;;;;;;,,,''''''''''''''''''...,;;;;;;::;;::,....''.''''''''',;:;;;;;,''','....',,,,,,,,,,'....',,,,,,,,,,,,,,,''''...''''''''',,,,,,,,;,,;;'..,,,,,,,,,,,,,,,,
,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::;;'..;:;;;::;;;;;::;;,'..,,,,,,,,;;;;:;;;:;;;;;,'.';;'..',,,,,,,,.....;;;;:::::c:::::::::::::::::::::ccccccccccllll;.',,,,,,,,,,,,,,,,
';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;::;;,'..,;:::;;::;;;;;:;;;;;;,..',;::;;::;;;;;;,'''..',;:;;,..,,,,,,,,....:dddddxxxxxxxxddxxddddddddddddxxxxxxxxxxxxxxkx;.',,,,,,,,,,,,,,,,
.;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;:::;,''..';;::;;;;;;;;;;;;;;;;;;;;;;,..',;;;;;:;;;;;,,;;;;;;;;;:,..,,,,,,'....okxxxxkkkkkkkkkkkkkkOOOOOOOO0000000000000000KO:.,,,,,,,,,,,,,,,,,
.;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;::::;,''''',;;::;;;;;;;;;;;;;;;;;;;;;;;;::;,'..,;;;;::;;;:;;;;;;;;;;:;...,,,,,..'.;OK000KKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXO:.,,,,,,,,,,,,,,,,,
 ,:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;:;;,'''.',;::;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;::;,...,;:;;;;;;::;;;;;;;;:,...',,,..'.lKXXXXXKKKKKKKK00OOkkkkkkkxxxxxxxxxxxxxxxxxxxxo,.,,,,,,,,,,,,,,,,,
 .:;;::;::;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;:;,''..'',;;;::::;:::;;::;;;;;;;;;;;;;;;;;;::;;;;:;;:;,'.,;:;;;;;;;;;;;;;;;:,....','.''.cxxxdddooooolllllcc::::::::::::::::::::::::::::..',,,,,,,,,,,,,,,,
 .;:;:;,'',;;;;;;;:::;;;;;;;;;:;;;;;;;;;;;;;;;;;,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;::'.''..'..''.,;;;;;;;;;;;;;;;,,,,,,,,,'',,,,,,,,,,,,,'''''''..',,,,,,,,,,,,,,,,
  ';;;;.......',,;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;..','....;....................................................,,,,,,,,,,,,,,,'
  .,:;'..,;,''.....'',;;;;;;;::;;;;;;;;;;;;;;;;::;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;:,..,;'...',.......'''''''''''''''''''''''''''''.....''''''''...,,,,,,,,,,,,,,'.
   ';;..',,,,,,,,,'......'',;;;;::;;;;;;;;;;;;:;;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;::;:;;,..,;,....,'..'''''''''''............'''',,,,,'''''''',,,,''....,,,,,,,,,,,,,,' 
   .,;'..,;,,,,...',,,,''.......'''',,;;;;;::::;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;:;:;'..,,'.....;. .................................................'',,,,,,,,,,,,,'. 
    .;;'..',,,,,'....'',,,,,,,'''''........'''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;,..',,...'..',..'..'''''''''',,,,,,,',,,,'''''.............'''',''''''''''''',''.  
     ';:;'...',,,,,'.....'',,,,,,,,,,,,,,,'''..........'''',,,;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;;'...',...','..,'..,'',,'''',,,,'',,'',,,''''''''''''',,,,,,''',,,,'''''''''''''''..  
     .,;;:;,''....',,,,'......'',,,,,,,,,,,,,,,,,,,,''''.............''''''''',,,,,,;;;;;;;;:::::::::::::;:::;;,'...',,'...'',..';...',,''''''''''''''''''''''''''''''''',,,''''',,,,'''''''''''''''.   
      .;:;;;;;;;,'...',,,,,,'.......'',,,,,,,,,,,,,,,,,,,,,,,,,,,,'''''''...................''''''''''''''''.....',,,,....',''..,;..''',,'''''''''''''''''''''''''''''''''''',,,,''''''''''''',,'''.    
       .;;;;;;;::;;,'...',,,,,,,,''.........'''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''''''..........''',,,,,,,'..''..','..;,..,,'',''''''''''''''''''''''''''''''''''''''''''''''''''''''','.     
        ';:;;:;;;:;::;,'...',,,,,,,,,,,''''.................''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'...,,;'..,..';'..,''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.      
         '::;;;:;;;;::::;,'..',,,,,,,,,,,,,,,,,,,,,,,'''''...........''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''...',,,,,'..'..,,..',''',,'''''''''''''''''''''''''''''''''''''''''''''',''','''.       
          ':;;::;;;;;;;;;;;;'...',;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''............................................',,,,,,,,......;'..'','',,'''''''''''''''''''''''''''''''''''''''''''''''','','..       
           ';:;;;;;;;;;;::;;;;;'...',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...'..';...,'''',,''''''''''''''''''''''''''''''''''''''''''''''''''',..        
            ';;;;;;;;;;;;;:;;;;:;,'...'',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'...,'..,,..','',',''''''''''''''''''''''''''''''''''''''''''''''','',,.          
             .;;;;;;;;;;;:;;;;;;;;;;;,'....',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'...'',...;'..,'',,',''''''''''''''''''''''''''''''''''''''''''''''''','.           
              .,;;:;;;:;;;;;;;;;;;;;;;;;;,'....''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'......'''..,;...,'','','''''''''''''''''''''''''''''''''''''''''''','''''.            
               .,::;;;;;;;;;;;;;;;;;;;;::;;;;,,'......''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''''....',;,..'''..;,..',''''','''''',''''''''''''''''''''''''''''''''''''''''''.             
                .';;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;,,''''...................................................'',,;;;:;...,'..';'..,''''''''''''','''''''''''''''''''''''''''''''''',,',,'..              
                  .;;;;:;;;;;;;;;;;;;;;;;;;;;:::;;;;;::::;;;;,,,,,'''''''''''''''',,,,,,,,,,,,,;;;;;;;;;;;;;;:::;::,...,,'..,;..','''','''''''''''''''''''''''''''''''''''''''''',''','.                
                   .';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;,...',,,..';,..'''''''''''''''''''',,,,,,'''''''''''''''',,,,,,,,,,'..                 
                     .,;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;,'...',,'',..,;'..,'''''''''''''''''''''''''''''''''''',,,,,,,,,,'''''.                   
                      ..,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;'....'''''''...;;...''''''''''''''''''''''''''''''''''''''''''''''''''.                     
                        .';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;:;................';'....................................................                       
                          .,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'............... .,;....................................................                        
                            .,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;...........;;:;;,..',..................................................                          
                              .,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;,...........':;;;::;,.................'''''',,,,,,,'...................                            
                                .';;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'.............';;:;;;;,..',,,,,..';;:::::;;;;;;;;;;;;:,...............                               
                                  ..,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;'...............,::;::;..;;:;;:;:'.';;:;;;;;;;;;;;;;;;;:;'...........                                 
                                     .,;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;::;:;.................':;:;:;..;:;;:;;;..,;;:;::::;;;;;;;;;;;::;'........                                   
                                       ..,;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;::;,...................;::;;:,..,;;,'..',::;;;::;;;;;;;;;;;;;::;;'....                                      
                                          .',;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::;::;'....................,:::::;,..',,,,;;::;:;;:::;;;;;;;;;;;;;::;,.                                         
                                             .',;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;:;'.....................,::::;;::,......'''''''''.....';;;:;;;;,'.                                           
                                                ..,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::,.......................;:;;::;::;.................... .';:;,'.                                              
                                                   ..',;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;,.......................,;;;;;;;;:,....................'.....                                                 
                                                       ..',;;;:;;;;;;;;;;;;;;;;;::;;:;;:;.......................';::::;;;:;;. ...............''''..                                                     
                                                           ...',;;:::;;;;;;;;;;;;;:;;;;,.......................,:;;;:;;;;;:,..'''''...''',,''..                                                         
                                                                ...',;;;:::;;;;;;;;::;........................;::;;;;;;;;;:,.':;,,''......                                                              
                                                                      ...',,;;;;;;;;'........................,:::::;;;;;;;:;.....                                                                       
                                                                             ................................;;;;;;;,,''....                                                                            
                                                                                       .................... .''......                                      




*/


pragma solidity ^0.8.15;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract GayFrog is Context, IERC20, Ownable {

    using SafeMath for uint256;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;

    address payable private _marketingWallet;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
   
    bool public tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;

    uint256 private _initialBuyTax=10;
    uint256 private _initialSellTax=30;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=35;
    uint256 private _preventSwapBefore=30;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = "Gay Frog";
    string private constant _symbol = "GFROG";
    uint256 public _maxTxAmount = 20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 5000000  * 10**_decimals;
    uint256 public _maxTaxSwap= 5000000 * 10**_decimals;

    event MaxTxAmountUpdated(uint _maxTxAmount);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _marketingWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function updateReduceTaxAt(uint256 reduceBuy, uint256 reduceSell) external {
        require(msg.sender == _marketingWallet);
        require(reduceBuy < 25 && reduceSell < 35);
        _reduceBuyTaxAt = reduceBuy;
        _reduceSellTaxAt = reduceSell;
    }
 
    function sendETHToFee(uint256 amount) private {
        _marketingWallet.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    function manualSwap() external {
        require(_msgSender()==_marketingWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function withdrawStuckEth() external {
    require(msg.sender == _marketingWallet);
    bool success;
    (success,) = address(msg.sender).call{value: address(this).balance}("");
}


    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"reduceBuy","type":"uint256"},{"internalType":"uint256","name":"reduceSell","type":"uint256"}],"name":"updateReduceTaxAt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f60075f6101000a81548160ff0219169083151502179055505f600760016101000a81548160ff0219169083151502179055505f600760026101000a81548160ff021916908315150217905550600a600855601e6009555f600a555f600b556014600c556023600d55601e600e555f600f556009600a61008491906105c2565b6301312d00610093919061060c565b6010556009600a6100a491906105c2565b6301312d006100b3919061060c565b6011556009600a6100c491906105c2565b624c4b406100d2919061060c565b6012556009600a6100e391906105c2565b624c4b406100f1919061060c565b6013553480156100ff575f80fd5b505f61010f61042360201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101b961042360201b60201c565b60035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a61020691906105c2565b633b9aca00610215919061060c565b60045f61022661042360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160065f61027661042a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061039e61042360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103fa91906105c2565b633b9aca00610409919061060c565b604051610416919061065c565b60405180910390a3610675565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104d3578086048111156104af576104ae610451565b5b60018516156104be5780820291505b80810290506104cc8561047e565b9450610493565b94509492505050565b5f826104eb57600190506105a6565b816104f8575f90506105a6565b816001811461050e576002811461051857610547565b60019150506105a6565b60ff84111561052a57610529610451565b5b8360020a91508482111561054157610540610451565b5b506105a6565b5060208310610133831016604e8410600b841016171561057c5782820a90508381111561057757610576610451565b5b6105a6565b610589848484600161048a565b925090508184048111156105a05761059f610451565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105cc826105ad565b91506105d7836105b6565b92506106047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104dc565b905092915050565b5f610616826105ad565b9150610621836105ad565b925082820261062f816105ad565b9150828204841483151761064657610645610451565b5b5092915050565b610656816105ad565b82525050565b5f60208201905061066f5f83018461064d565b92915050565b612efb806106825f395ff3fe60806040526004361061012d575f3560e01c8063751039fc116100aa57806395d89b411161006e57806395d89b4114610392578063a9059cbb146103bc578063bf474bed146103f8578063c9567bf914610422578063dd62ed3e14610438578063ffb54a991461047457610134565b8063751039fc146102e85780637d1db4a5146102fe5780637fa787ba146103285780638da5cb5b1461033e5780638f9a55c01461036857610134565b8063313ce567116100f1578063313ce5671461022e57806351bc3c8514610258578063577f56891461026e57806370a0823114610296578063715018a6146102d257610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612022565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906120d3565b6104db565b604051610195919061212b565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612153565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fe565b6040516101e99190612153565b60405180910390f35b3480156101fd575f80fd5b506102186004803603810190610213919061216c565b610521565b604051610225919061212b565b60405180910390f35b348015610239575f80fd5b506102426105f5565b60405161024f91906121d7565b60405180910390f35b348015610263575f80fd5b5061026c6105fd565b005b348015610279575f80fd5b50610294600480360381019061028f91906121f0565b610694565b005b3480156102a1575f80fd5b506102bc60048036038101906102b7919061222e565b610716565b6040516102c99190612153565b60405180910390f35b3480156102dd575f80fd5b506102e661075c565b005b3480156102f3575f80fd5b506102fc6108aa565b005b348015610309575f80fd5b506103126109d9565b60405161031f9190612153565b60405180910390f35b348015610333575f80fd5b5061033c6109df565b005b348015610349575f80fd5b50610352610aa4565b60405161035f9190612268565b60405180910390f35b348015610373575f80fd5b5061037c610acb565b6040516103899190612153565b60405180910390f35b34801561039d575f80fd5b506103a6610ad1565b6040516103b39190612022565b60405180910390f35b3480156103c7575f80fd5b506103e260048036038101906103dd91906120d3565b610b0e565b6040516103ef919061212b565b60405180910390f35b348015610403575f80fd5b5061040c610b2b565b6040516104199190612153565b60405180910390f35b34801561042d575f80fd5b50610436610b31565b005b348015610443575f80fd5b5061045e60048036038101906104599190612281565b611051565b60405161046b9190612153565b60405180910390f35b34801561047f575f80fd5b506104886110d3565b604051610495919061212b565b60405180910390f35b60606040518060400160405280600881526020017f4761792046726f67000000000000000000000000000000000000000000000000815250905090565b5f6104ee6104e76110e5565b84846110ec565b6001905092915050565b60135481565b5f6009600a61050d919061241b565b633b9aca0061051c9190612465565b905090565b5f61052d8484846112af565b6105ea846105396110e5565b6105e585604051806060016040528060288152602001612e9e6028913960055f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61059c6110e5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a9e9092919063ffffffff16565b6110ec565b600190509392505050565b5f6009905090565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661063d6110e5565b73ffffffffffffffffffffffffffffffffffffffff161461065c575f80fd5b5f61066630610716565b90505f81111561067a5761067981611b00565b5b5f4790505f8111156106905761068f81611d6b565b5b5050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106ec575f80fd5b6019821080156106fc5750602381105b610704575f80fd5b81600c8190555080600d819055505050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107646110e5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e7906124f0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108b26110e5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610935906124f0565b60405180910390fd5b6009600a61094c919061241b565b633b9aca0061095b9190612465565b6010819055506009600a61096f919061241b565b633b9aca0061097e9190612465565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109b3919061241b565b633b9aca006109c29190612465565b6040516109cf9190612153565b60405180910390a1565b60105481565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a37575f80fd5b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051610a5c9061253b565b5f6040518083038185875af1925050503d805f8114610a96576040519150601f19603f3d011682016040523d82523d5f602084013e610a9b565b606091505b50508091505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600581526020017f4746524f47000000000000000000000000000000000000000000000000000000815250905090565b5f610b21610b1a6110e5565b84846112af565b6001905092915050565b60125481565b610b396110e5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbc906124f0565b60405180910390fd5b60075f9054906101000a900460ff1615610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0b90612599565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cb03060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c9c919061241b565b633b9aca00610cab9190612465565b6110ec565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3e91906125cb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de891906125cb565b6040518363ffffffff1660e01b8152600401610e059291906125f6565b6020604051808303815f875af1158015610e21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4591906125cb565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ecc30610716565b5f80610ed6610aa4565b426040518863ffffffff1660e01b8152600401610ef89695949392919061265f565b60606040518083038185885af1158015610f14573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f3991906126d2565b50505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fd9929190612722565b6020604051808303815f875af1158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190612773565b506001600760026101000a81548160ff021916908315150217905550600160075f6101000a81548160ff021916908315150217905550565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60075f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361115a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111519061280e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bf9061289c565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112a29190612153565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361131d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113149061292a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361138b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611382906129b8565b60405180910390fd5b5f81116113cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c490612a46565b60405180910390fd5b5f6113d6610aa4565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114445750611414610aa4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117ee576114856064611477600c54600f541161146457600854611468565b600a545b85611dd390919063ffffffff16565b611e4a90919063ffffffff16565b905060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611530575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611583575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561163d576010548211156115cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c490612aae565b60405180910390fd5b601154826115da85610716565b6115e49190612acc565b1115611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161c90612b49565b60405180910390fd5b600f5f81548092919061163790612b67565b91905055505b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116c557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117095761170660646116f8600d54600f54116116e5576009546116e9565b600b545b85611dd390919063ffffffff16565b611e4a90919063ffffffff16565b90505b5f61171330610716565b9050600760019054906101000a900460ff1615801561177e575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117965750600760029054906101000a900460ff165b80156117a3575060125481115b80156117b25750600e54600f54115b156117ec576117d46117cf846117ca84601354611e93565b611e93565b611b00565b5f4790505f8111156117ea576117e947611d6b565b5b505b505b5f8111156118ed576118468160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611eab90919063ffffffff16565b60045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118e49190612153565b60405180910390a35b61193d8260045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f0890919063ffffffff16565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119e06119948284611f0890919063ffffffff16565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611eab90919063ffffffff16565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a838486611f0890919063ffffffff16565b604051611a909190612153565b60405180910390a350505050565b5f838311158290611ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adc9190612022565b60405180910390fd5b505f8385611af39190612bae565b9050809150509392505050565b6001600760016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b3757611b36612be1565b5b604051908082528060200260200182016040528015611b655781602001602082028036833780820191505090505b50905030815f81518110611b7c57611b7b612c0e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c4491906125cb565b81600181518110611c5857611c57612c0e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cbe3060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110ec565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d20959493929190612cf2565b5f604051808303815f87803b158015611d37575f80fd5b505af1158015611d49573d5f803e3d5ffd5b50505050505f600760016101000a81548160ff02191690831515021790555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611dcf573d5f803e3d5ffd5b5050565b5f808303611de3575f9050611e44565b5f8284611df09190612465565b9050828482611dff9190612d77565b14611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3690612e17565b60405180910390fd5b809150505b92915050565b5f611e8b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f51565b905092915050565b5f818311611ea15782611ea3565b815b905092915050565b5f808284611eb99190612acc565b905083811015611efe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef590612e7f565b60405180910390fd5b8091505092915050565b5f611f4983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a9e565b905092915050565b5f8083118290611f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8e9190612022565b60405180910390fd5b505f8385611fa59190612d77565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ff482611fb2565b611ffe8185611fbc565b935061200e818560208601611fcc565b61201781611fda565b840191505092915050565b5f6020820190508181035f83015261203a8184611fea565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61206f82612046565b9050919050565b61207f81612065565b8114612089575f80fd5b50565b5f8135905061209a81612076565b92915050565b5f819050919050565b6120b2816120a0565b81146120bc575f80fd5b50565b5f813590506120cd816120a9565b92915050565b5f80604083850312156120e9576120e8612042565b5b5f6120f68582860161208c565b9250506020612107858286016120bf565b9150509250929050565b5f8115159050919050565b61212581612111565b82525050565b5f60208201905061213e5f83018461211c565b92915050565b61214d816120a0565b82525050565b5f6020820190506121665f830184612144565b92915050565b5f805f6060848603121561218357612182612042565b5b5f6121908682870161208c565b93505060206121a18682870161208c565b92505060406121b2868287016120bf565b9150509250925092565b5f60ff82169050919050565b6121d1816121bc565b82525050565b5f6020820190506121ea5f8301846121c8565b92915050565b5f806040838503121561220657612205612042565b5b5f612213858286016120bf565b9250506020612224858286016120bf565b9150509250929050565b5f6020828403121561224357612242612042565b5b5f6122508482850161208c565b91505092915050565b61226281612065565b82525050565b5f60208201905061227b5f830184612259565b92915050565b5f806040838503121561229757612296612042565b5b5f6122a48582860161208c565b92505060206122b58582860161208c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156123415780860481111561231d5761231c6122bf565b5b600185161561232c5780820291505b808102905061233a856122ec565b9450612301565b94509492505050565b5f826123595760019050612414565b81612366575f9050612414565b816001811461237c5760028114612386576123b5565b6001915050612414565b60ff841115612398576123976122bf565b5b8360020a9150848211156123af576123ae6122bf565b5b50612414565b5060208310610133831016604e8410600b84101617156123ea5782820a9050838111156123e5576123e46122bf565b5b612414565b6123f784848460016122f8565b9250905081840481111561240e5761240d6122bf565b5b81810290505b9392505050565b5f612425826120a0565b9150612430836121bc565b925061245d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461234a565b905092915050565b5f61246f826120a0565b915061247a836120a0565b9250828202612488816120a0565b9150828204841483151761249f5761249e6122bf565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124da602083611fbc565b91506124e5826124a6565b602082019050919050565b5f6020820190508181035f830152612507816124ce565b9050919050565b5f81905092915050565b50565b5f6125265f8361250e565b915061253182612518565b5f82019050919050565b5f6125458261251b565b9150819050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612583601783611fbc565b915061258e8261254f565b602082019050919050565b5f6020820190508181035f8301526125b081612577565b9050919050565b5f815190506125c581612076565b92915050565b5f602082840312156125e0576125df612042565b5b5f6125ed848285016125b7565b91505092915050565b5f6040820190506126095f830185612259565b6126166020830184612259565b9392505050565b5f819050919050565b5f819050919050565b5f61264961264461263f8461261d565b612626565b6120a0565b9050919050565b6126598161262f565b82525050565b5f60c0820190506126725f830189612259565b61267f6020830188612144565b61268c6040830187612650565b6126996060830186612650565b6126a66080830185612259565b6126b360a0830184612144565b979650505050505050565b5f815190506126cc816120a9565b92915050565b5f805f606084860312156126e9576126e8612042565b5b5f6126f6868287016126be565b9350506020612707868287016126be565b9250506040612718868287016126be565b9150509250925092565b5f6040820190506127355f830185612259565b6127426020830184612144565b9392505050565b61275281612111565b811461275c575f80fd5b50565b5f8151905061276d81612749565b92915050565b5f6020828403121561278857612787612042565b5b5f6127958482850161275f565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127f8602483611fbc565b91506128038261279e565b604082019050919050565b5f6020820190508181035f830152612825816127ec565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612886602283611fbc565b91506128918261282c565b604082019050919050565b5f6020820190508181035f8301526128b38161287a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612914602583611fbc565b915061291f826128ba565b604082019050919050565b5f6020820190508181035f83015261294181612908565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6129a2602383611fbc565b91506129ad82612948565b604082019050919050565b5f6020820190508181035f8301526129cf81612996565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612a30602983611fbc565b9150612a3b826129d6565b604082019050919050565b5f6020820190508181035f830152612a5d81612a24565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612a98601983611fbc565b9150612aa382612a64565b602082019050919050565b5f6020820190508181035f830152612ac581612a8c565b9050919050565b5f612ad6826120a0565b9150612ae1836120a0565b9250828201905080821115612af957612af86122bf565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612b33601a83611fbc565b9150612b3e82612aff565b602082019050919050565b5f6020820190508181035f830152612b6081612b27565b9050919050565b5f612b71826120a0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ba357612ba26122bf565b5b600182019050919050565b5f612bb8826120a0565b9150612bc3836120a0565b9250828203905081811115612bdb57612bda6122bf565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c6d81612065565b82525050565b5f612c7e8383612c64565b60208301905092915050565b5f602082019050919050565b5f612ca082612c3b565b612caa8185612c45565b9350612cb583612c55565b805f5b83811015612ce5578151612ccc8882612c73565b9750612cd783612c8a565b925050600181019050612cb8565b5085935050505092915050565b5f60a082019050612d055f830188612144565b612d126020830187612650565b8181036040830152612d248186612c96565b9050612d336060830185612259565b612d406080830184612144565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d81826120a0565b9150612d8c836120a0565b925082612d9c57612d9b612d4a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e01602183611fbc565b9150612e0c82612da7565b604082019050919050565b5f6020820190508181035f830152612e2e81612df5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612e69601b83611fbc565b9150612e7482612e35565b602082019050919050565b5f6020820190508181035f830152612e9681612e5d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209208faf85b5f79bf31609733e57624ea53f5830eb79946787971edc24dd4060564736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061012d575f3560e01c8063751039fc116100aa57806395d89b411161006e57806395d89b4114610392578063a9059cbb146103bc578063bf474bed146103f8578063c9567bf914610422578063dd62ed3e14610438578063ffb54a991461047457610134565b8063751039fc146102e85780637d1db4a5146102fe5780637fa787ba146103285780638da5cb5b1461033e5780638f9a55c01461036857610134565b8063313ce567116100f1578063313ce5671461022e57806351bc3c8514610258578063577f56891461026e57806370a0823114610296578063715018a6146102d257610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612022565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906120d3565b6104db565b604051610195919061212b565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612153565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fe565b6040516101e99190612153565b60405180910390f35b3480156101fd575f80fd5b506102186004803603810190610213919061216c565b610521565b604051610225919061212b565b60405180910390f35b348015610239575f80fd5b506102426105f5565b60405161024f91906121d7565b60405180910390f35b348015610263575f80fd5b5061026c6105fd565b005b348015610279575f80fd5b50610294600480360381019061028f91906121f0565b610694565b005b3480156102a1575f80fd5b506102bc60048036038101906102b7919061222e565b610716565b6040516102c99190612153565b60405180910390f35b3480156102dd575f80fd5b506102e661075c565b005b3480156102f3575f80fd5b506102fc6108aa565b005b348015610309575f80fd5b506103126109d9565b60405161031f9190612153565b60405180910390f35b348015610333575f80fd5b5061033c6109df565b005b348015610349575f80fd5b50610352610aa4565b60405161035f9190612268565b60405180910390f35b348015610373575f80fd5b5061037c610acb565b6040516103899190612153565b60405180910390f35b34801561039d575f80fd5b506103a6610ad1565b6040516103b39190612022565b60405180910390f35b3480156103c7575f80fd5b506103e260048036038101906103dd91906120d3565b610b0e565b6040516103ef919061212b565b60405180910390f35b348015610403575f80fd5b5061040c610b2b565b6040516104199190612153565b60405180910390f35b34801561042d575f80fd5b50610436610b31565b005b348015610443575f80fd5b5061045e60048036038101906104599190612281565b611051565b60405161046b9190612153565b60405180910390f35b34801561047f575f80fd5b506104886110d3565b604051610495919061212b565b60405180910390f35b60606040518060400160405280600881526020017f4761792046726f67000000000000000000000000000000000000000000000000815250905090565b5f6104ee6104e76110e5565b84846110ec565b6001905092915050565b60135481565b5f6009600a61050d919061241b565b633b9aca0061051c9190612465565b905090565b5f61052d8484846112af565b6105ea846105396110e5565b6105e585604051806060016040528060288152602001612e9e6028913960055f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61059c6110e5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a9e9092919063ffffffff16565b6110ec565b600190509392505050565b5f6009905090565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661063d6110e5565b73ffffffffffffffffffffffffffffffffffffffff161461065c575f80fd5b5f61066630610716565b90505f81111561067a5761067981611b00565b5b5f4790505f8111156106905761068f81611d6b565b5b5050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106ec575f80fd5b6019821080156106fc5750602381105b610704575f80fd5b81600c8190555080600d819055505050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107646110e5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e7906124f0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108b26110e5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610935906124f0565b60405180910390fd5b6009600a61094c919061241b565b633b9aca0061095b9190612465565b6010819055506009600a61096f919061241b565b633b9aca0061097e9190612465565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109b3919061241b565b633b9aca006109c29190612465565b6040516109cf9190612153565b60405180910390a1565b60105481565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a37575f80fd5b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051610a5c9061253b565b5f6040518083038185875af1925050503d805f8114610a96576040519150601f19603f3d011682016040523d82523d5f602084013e610a9b565b606091505b50508091505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600581526020017f4746524f47000000000000000000000000000000000000000000000000000000815250905090565b5f610b21610b1a6110e5565b84846112af565b6001905092915050565b60125481565b610b396110e5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbc906124f0565b60405180910390fd5b60075f9054906101000a900460ff1615610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0b90612599565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cb03060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c9c919061241b565b633b9aca00610cab9190612465565b6110ec565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3e91906125cb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de891906125cb565b6040518363ffffffff1660e01b8152600401610e059291906125f6565b6020604051808303815f875af1158015610e21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4591906125cb565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ecc30610716565b5f80610ed6610aa4565b426040518863ffffffff1660e01b8152600401610ef89695949392919061265f565b60606040518083038185885af1158015610f14573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f3991906126d2565b50505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fd9929190612722565b6020604051808303815f875af1158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190612773565b506001600760026101000a81548160ff021916908315150217905550600160075f6101000a81548160ff021916908315150217905550565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60075f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361115a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111519061280e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bf9061289c565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112a29190612153565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361131d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113149061292a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361138b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611382906129b8565b60405180910390fd5b5f81116113cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c490612a46565b60405180910390fd5b5f6113d6610aa4565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114445750611414610aa4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117ee576114856064611477600c54600f541161146457600854611468565b600a545b85611dd390919063ffffffff16565b611e4a90919063ffffffff16565b905060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611530575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611583575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561163d576010548211156115cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c490612aae565b60405180910390fd5b601154826115da85610716565b6115e49190612acc565b1115611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161c90612b49565b60405180910390fd5b600f5f81548092919061163790612b67565b91905055505b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116c557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117095761170660646116f8600d54600f54116116e5576009546116e9565b600b545b85611dd390919063ffffffff16565b611e4a90919063ffffffff16565b90505b5f61171330610716565b9050600760019054906101000a900460ff1615801561177e575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117965750600760029054906101000a900460ff165b80156117a3575060125481115b80156117b25750600e54600f54115b156117ec576117d46117cf846117ca84601354611e93565b611e93565b611b00565b5f4790505f8111156117ea576117e947611d6b565b5b505b505b5f8111156118ed576118468160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611eab90919063ffffffff16565b60045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118e49190612153565b60405180910390a35b61193d8260045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f0890919063ffffffff16565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119e06119948284611f0890919063ffffffff16565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611eab90919063ffffffff16565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a838486611f0890919063ffffffff16565b604051611a909190612153565b60405180910390a350505050565b5f838311158290611ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adc9190612022565b60405180910390fd5b505f8385611af39190612bae565b9050809150509392505050565b6001600760016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b3757611b36612be1565b5b604051908082528060200260200182016040528015611b655781602001602082028036833780820191505090505b50905030815f81518110611b7c57611b7b612c0e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c4491906125cb565b81600181518110611c5857611c57612c0e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cbe3060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110ec565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d20959493929190612cf2565b5f604051808303815f87803b158015611d37575f80fd5b505af1158015611d49573d5f803e3d5ffd5b50505050505f600760016101000a81548160ff02191690831515021790555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611dcf573d5f803e3d5ffd5b5050565b5f808303611de3575f9050611e44565b5f8284611df09190612465565b9050828482611dff9190612d77565b14611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3690612e17565b60405180910390fd5b809150505b92915050565b5f611e8b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f51565b905092915050565b5f818311611ea15782611ea3565b815b905092915050565b5f808284611eb99190612acc565b905083811015611efe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef590612e7f565b60405180910390fd5b8091505092915050565b5f611f4983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a9e565b905092915050565b5f8083118290611f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8e9190612022565b60405180910390fd5b505f8385611fa59190612d77565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ff482611fb2565b611ffe8185611fbc565b935061200e818560208601611fcc565b61201781611fda565b840191505092915050565b5f6020820190508181035f83015261203a8184611fea565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61206f82612046565b9050919050565b61207f81612065565b8114612089575f80fd5b50565b5f8135905061209a81612076565b92915050565b5f819050919050565b6120b2816120a0565b81146120bc575f80fd5b50565b5f813590506120cd816120a9565b92915050565b5f80604083850312156120e9576120e8612042565b5b5f6120f68582860161208c565b9250506020612107858286016120bf565b9150509250929050565b5f8115159050919050565b61212581612111565b82525050565b5f60208201905061213e5f83018461211c565b92915050565b61214d816120a0565b82525050565b5f6020820190506121665f830184612144565b92915050565b5f805f6060848603121561218357612182612042565b5b5f6121908682870161208c565b93505060206121a18682870161208c565b92505060406121b2868287016120bf565b9150509250925092565b5f60ff82169050919050565b6121d1816121bc565b82525050565b5f6020820190506121ea5f8301846121c8565b92915050565b5f806040838503121561220657612205612042565b5b5f612213858286016120bf565b9250506020612224858286016120bf565b9150509250929050565b5f6020828403121561224357612242612042565b5b5f6122508482850161208c565b91505092915050565b61226281612065565b82525050565b5f60208201905061227b5f830184612259565b92915050565b5f806040838503121561229757612296612042565b5b5f6122a48582860161208c565b92505060206122b58582860161208c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156123415780860481111561231d5761231c6122bf565b5b600185161561232c5780820291505b808102905061233a856122ec565b9450612301565b94509492505050565b5f826123595760019050612414565b81612366575f9050612414565b816001811461237c5760028114612386576123b5565b6001915050612414565b60ff841115612398576123976122bf565b5b8360020a9150848211156123af576123ae6122bf565b5b50612414565b5060208310610133831016604e8410600b84101617156123ea5782820a9050838111156123e5576123e46122bf565b5b612414565b6123f784848460016122f8565b9250905081840481111561240e5761240d6122bf565b5b81810290505b9392505050565b5f612425826120a0565b9150612430836121bc565b925061245d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461234a565b905092915050565b5f61246f826120a0565b915061247a836120a0565b9250828202612488816120a0565b9150828204841483151761249f5761249e6122bf565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124da602083611fbc565b91506124e5826124a6565b602082019050919050565b5f6020820190508181035f830152612507816124ce565b9050919050565b5f81905092915050565b50565b5f6125265f8361250e565b915061253182612518565b5f82019050919050565b5f6125458261251b565b9150819050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612583601783611fbc565b915061258e8261254f565b602082019050919050565b5f6020820190508181035f8301526125b081612577565b9050919050565b5f815190506125c581612076565b92915050565b5f602082840312156125e0576125df612042565b5b5f6125ed848285016125b7565b91505092915050565b5f6040820190506126095f830185612259565b6126166020830184612259565b9392505050565b5f819050919050565b5f819050919050565b5f61264961264461263f8461261d565b612626565b6120a0565b9050919050565b6126598161262f565b82525050565b5f60c0820190506126725f830189612259565b61267f6020830188612144565b61268c6040830187612650565b6126996060830186612650565b6126a66080830185612259565b6126b360a0830184612144565b979650505050505050565b5f815190506126cc816120a9565b92915050565b5f805f606084860312156126e9576126e8612042565b5b5f6126f6868287016126be565b9350506020612707868287016126be565b9250506040612718868287016126be565b9150509250925092565b5f6040820190506127355f830185612259565b6127426020830184612144565b9392505050565b61275281612111565b811461275c575f80fd5b50565b5f8151905061276d81612749565b92915050565b5f6020828403121561278857612787612042565b5b5f6127958482850161275f565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127f8602483611fbc565b91506128038261279e565b604082019050919050565b5f6020820190508181035f830152612825816127ec565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612886602283611fbc565b91506128918261282c565b604082019050919050565b5f6020820190508181035f8301526128b38161287a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612914602583611fbc565b915061291f826128ba565b604082019050919050565b5f6020820190508181035f83015261294181612908565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6129a2602383611fbc565b91506129ad82612948565b604082019050919050565b5f6020820190508181035f8301526129cf81612996565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612a30602983611fbc565b9150612a3b826129d6565b604082019050919050565b5f6020820190508181035f830152612a5d81612a24565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612a98601983611fbc565b9150612aa382612a64565b602082019050919050565b5f6020820190508181035f830152612ac581612a8c565b9050919050565b5f612ad6826120a0565b9150612ae1836120a0565b9250828201905080821115612af957612af86122bf565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612b33601a83611fbc565b9150612b3e82612aff565b602082019050919050565b5f6020820190508181035f830152612b6081612b27565b9050919050565b5f612b71826120a0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ba357612ba26122bf565b5b600182019050919050565b5f612bb8826120a0565b9150612bc3836120a0565b9250828203905081811115612bdb57612bda6122bf565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c6d81612065565b82525050565b5f612c7e8383612c64565b60208301905092915050565b5f602082019050919050565b5f612ca082612c3b565b612caa8185612c45565b9350612cb583612c55565b805f5b83811015612ce5578151612ccc8882612c73565b9750612cd783612c8a565b925050600181019050612cb8565b5085935050505092915050565b5f60a082019050612d055f830188612144565b612d126020830187612650565b8181036040830152612d248186612c96565b9050612d336060830185612259565b612d406080830184612144565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d81826120a0565b9150612d8c836120a0565b925082612d9c57612d9b612d4a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e01602183611fbc565b9150612e0c82612da7565b604082019050919050565b5f6020820190508181035f830152612e2e81612df5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612e69601b83611fbc565b9150612e7482612e35565b602082019050919050565b5f6020820190508181035f830152612e9681612e5d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209208faf85b5f79bf31609733e57624ea53f5830eb79946787971edc24dd4060564736f6c634300081a0033

Deployed Bytecode Sourcemap

23964:7754:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25758:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26591:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25211:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26035:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26760:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25944:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;31130:354;;;;;;;;;;;;;:::i;:::-;;30072:264;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26138:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23045:148;;;;;;;;;;;;;:::i;:::-;;29905:159;;;;;;;;;;;;;:::i;:::-;;25022:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;31492:184;;;;;;;;;;;;;:::i;:::-;;22831:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25083:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25849:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26265:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25146:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;30451:671;;;;;;;;;;;;;:::i;:::-;;26440:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24382:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25758:83;25795:13;25828:5;;;;;;;;;;;;;;;;;25821:12;;25758:83;:::o;26591:161::-;26666:4;26683:39;26692:12;:10;:12::i;:::-;26706:7;26715:6;26683:8;:39::i;:::-;26740:4;26733:11;;26591:161;;;;:::o;25211:51::-;;;;:::o;26035:95::-;26088:7;24849:1;24905:2;:13;;;;:::i;:::-;24892:10;:26;;;;:::i;:::-;26108:14;;26035:95;:::o;26760:313::-;26858:4;26875:36;26885:6;26893:9;26904:6;26875:9;:36::i;:::-;26922:121;26931:6;26939:12;:10;:12::i;:::-;26953:89;26991:6;26953:89;;;;;;;;;;;;;;;;;:11;:19;26965:6;26953:19;;;;;;;;;;;;;;;:33;26973:12;:10;:12::i;:::-;26953:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;26922:8;:121::i;:::-;27061:4;27054:11;;26760:313;;;;;:::o;25944:83::-;25985:5;24849:1;26003:16;;25944:83;:::o;31130:354::-;31194:16;;;;;;;;;;;31180:30;;:12;:10;:12::i;:::-;:30;;;31172:39;;;;;;31222:20;31243:24;31261:4;31243:9;:24::i;:::-;31222:45;;31294:1;31281:12;:14;31278:73;;;31309:30;31326:12;31309:16;:30::i;:::-;31278:73;31361:18;31380:21;31361:40;;31426:1;31415:10;:12;31412:65;;;31441:24;31454:10;31441:12;:24::i;:::-;31412:65;31161:323;;31130:354::o;30072:264::-;30180:16;;;;;;;;;;;30166:30;;:10;:30;;;30158:39;;;;;;30228:2;30216:9;:14;:33;;;;;30247:2;30234:10;:15;30216:33;30208:42;;;;;;30279:9;30261:15;:27;;;;30318:10;30299:16;:29;;;;30072:264;;:::o;26138:119::-;26204:7;26231:9;:18;26241:7;26231:18;;;;;;;;;;;;;;;;26224:25;;26138:119;;;:::o;23045:148::-;22968:12;:10;:12::i;:::-;22958:22;;:6;;;;;;;;;;:22;;;22950:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23152:1:::1;23115:40;;23136:6;::::0;::::1;;;;;;;;23115:40;;;;;;;;;;;;23183:1;23166:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;23045:148::o:0;29905:159::-;22968:12;:10;:12::i;:::-;22958:22;;:6;;;;;;;;;;:22;;;22950:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24849:1:::1;24905:2;:13;;;;:::i;:::-;24892:10;:26;;;;:::i;:::-;29958:12;:22;;;;24849:1;24905:2;:13;;;;:::i;:::-;24892:10;:26;;;;:::i;:::-;29991:14;:22;;;;30029:27;24849:1;24905:2;:13;;;;:::i;:::-;24892:10;:26;;;;:::i;:::-;30029:27;;;;;;:::i;:::-;;;;;;;;29905:159::o:0;25022:54::-;;;;:::o;31492:184::-;31558:16;;;;;;;;;;;31544:30;;:10;:30;;;31536:39;;;;;;31582:12;31622:10;31614:24;;31646:21;31614:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31601:71;;;;;31529:147;31492:184::o;22831:79::-;22869:7;22896:6;;;;;;;;;;;22889:13;;22831:79;:::o;25083:56::-;;;;:::o;25849:87::-;25888:13;25921:7;;;;;;;;;;;;;;;;;25914:14;;25849:87;:::o;26265:167::-;26343:4;26360:42;26370:12;:10;:12::i;:::-;26384:9;26395:6;26360:9;:42::i;:::-;26420:4;26413:11;;26265:167;;;;:::o;25146:58::-;;;;:::o;30451:671::-;22968:12;:10;:12::i;:::-;22958:22;;:6;;;;;;;;;;:22;;;22950:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;30515:11:::1;;;;;;;;;;;30514:12;30506:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;30601:42;30564:15;;:80;;;;;;;;;;;;;;;;;;30655:58;30672:4;30687:15;;;;;;;;;;;24849:1;24905:2;:13;;;;:::i;:::-;24892:10;:26;;;;:::i;:::-;30655:8;:58::i;:::-;30758:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30740:55;;;30804:4;30811:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30740:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30724:13;;:110;;;;;;;;;;;;;;;;;;30845:15;;;;;;;;;;;:31;;;30884:21;30915:4;30921:24;30939:4;30921:9;:24::i;:::-;30946:1;30948::::0;30950:7:::1;:5;:7::i;:::-;30958:15;30845:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;30992:13;;;;;;;;;;;30985:29;;;31023:15;;;;;;;;;;;31041:14;30985:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;31081:4;31067:11;;:18;;;;;;;;;;;;;;;;;;31110:4;31096:11;;:18;;;;;;;;;;;;;;;;;;30451:671::o:0;26440:143::-;26521:7;26548:11;:18;26560:5;26548:18;;;;;;;;;;;;;;;:27;26567:7;26548:27;;;;;;;;;;;;;;;;26541:34;;26440:143;;;;:::o;24382:31::-;;;;;;;;;;;;;:::o;20586:98::-;20639:7;20666:10;20659:17;;20586:98;:::o;27081:335::-;27191:1;27174:19;;:5;:19;;;27166:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27272:1;27253:21;;:7;:21;;;27245:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27354:6;27324:11;:18;27336:5;27324:18;;;;;;;;;;;;;;;:27;27343:7;27324:27;;;;;;;;;;;;;;;:36;;;;27392:7;27376:32;;27385:5;27376:32;;;27401:6;27376:32;;;;;;:::i;:::-;;;;;;;;27081:335;;;:::o;27424:1874::-;27528:1;27512:18;;:4;:18;;;27504:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27605:1;27591:16;;:2;:16;;;27583:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;27675:1;27666:6;:10;27658:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;27733:17;27775:7;:5;:7::i;:::-;27767:15;;:4;:15;;;;:32;;;;;27792:7;:5;:7::i;:::-;27786:13;;:2;:13;;;;27767:32;27763:1179;;;27828:76;27900:3;27828:67;27850:15;;27840:9;;:25;27839:55;;27880:14;;27839:55;;;27867:12;;27839:55;27828:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;27816:88;;27933:13;;;;;;;;;;;27925:21;;:4;:21;;;:55;;;;;27964:15;;;;;;;;;;;27950:30;;:2;:30;;;;27925:55;:83;;;;;27986:18;:22;28005:2;27986:22;;;;;;;;;;;;;;;;;;;;;;;;;27984:24;27925:83;27921:313;;;28048:12;;28038:6;:22;;28030:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;28143:14;;28133:6;28117:13;28127:2;28117:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;28109:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;28207:9;;:11;;;;;;;;;:::i;:::-;;;;;;27921:313;28259:13;;;;;;;;;;;28253:19;;:2;:19;;;:43;;;;;28291:4;28276:20;;:4;:20;;;;28253:43;28250:174;;;28329:79;28404:3;28329:70;28351:16;;28341:9;;:26;28340:58;;28383:15;;28340:58;;;28369:13;;28340:58;28329:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;28317:91;;28250:174;28440:28;28471:24;28489:4;28471:9;:24::i;:::-;28440:55;;28515:6;;;;;;;;;;;28514:7;:32;;;;;28533:13;;;;;;;;;;;28525:21;;:2;:21;;;28514:32;:47;;;;;28550:11;;;;;;;;;;;28514:47;:89;;;;;28586:17;;28565:20;:38;28514:89;:121;;;;;28617:18;;28607:9;;:28;28514:121;28510:421;;;28656:67;28673:49;28677:6;28684:37;28688:20;28709:11;;28684:3;:37::i;:::-;28673:3;:49::i;:::-;28656:16;:67::i;:::-;28742:26;28771:21;28742:50;;28835:1;28814:18;:22;28811:105;;;28861:35;28874:21;28861:12;:35::i;:::-;28811:105;28637:294;28510:421;27801:1141;27763:1179;28967:1;28957:9;:11;28954:161;;;29007:39;29036:9;29007;:24;29025:4;29007:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;28982:9;:24;29000:4;28982:24;;;;;;;;;;;;;;;:64;;;;29087:4;29064:39;;29073:4;29064:39;;;29093:9;29064:39;;;;;;:::i;:::-;;;;;;;;28954:161;29141:27;29161:6;29141:9;:15;29151:4;29141:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;29125:9;:15;29135:4;29125:15;;;;;;;;;;;;;;;:43;;;;29193:40;29211:21;29222:9;29211:6;:10;;:21;;;;:::i;:::-;29193:9;:13;29203:2;29193:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;29179:9;:13;29189:2;29179:13;;;;;;;;;;;;;;;:54;;;;29264:2;29249:41;;29258:4;29249:41;;;29268:21;29279:9;29268:6;:10;;:21;;;;:::i;:::-;29249:41;;;;;;:::i;:::-;;;;;;;;27493:1805;27424:1874;;;:::o;21723:190::-;21809:7;21842:1;21837;:6;;21845:12;21829:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;21869:9;21885:1;21881;:5;;;;:::i;:::-;21869:17;;21904:1;21897:8;;;21723:190;;;;;:::o;29414:483::-;25364:4;25355:6;;:13;;;;;;;;;;;;;;;;;;29492:21:::1;29530:1;29516:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29492:40;;29561:4;29543;29548:1;29543:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;29587:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29577:4;29582:1;29577:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;29620:62;29637:4;29652:15;;;;;;;;;;;29670:11;29620:8;:62::i;:::-;29693:15;;;;;;;;;;;:66;;;29774:11;29800:1;29816:4;29843;29863:15;29693:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;29481:416;25400:5:::0;25391:6;;:14;;;;;;;;;;;;;;;;;;29414:483;:::o;30345:98::-;30402:16;;;;;;;;;;;:25;;:33;30428:6;30402:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30345:98;:::o;21921:246::-;21979:7;22008:1;22003;:6;21999:47;;22033:1;22026:8;;;;21999:47;22056:9;22072:1;22068;:5;;;;:::i;:::-;22056:17;;22101:1;22096;22092;:5;;;;:::i;:::-;:10;22084:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;22158:1;22151:8;;;21921:246;;;;;:::o;22175:132::-;22233:7;22260:39;22264:1;22267;22260:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;22253:46;;22175:132;;;;:::o;29308:98::-;29365:7;29392:1;29390;:3;29389:9;;29397:1;29389:9;;;29395:1;29389:9;29382:16;;29308:98;;;;:::o;21392:179::-;21450:7;21470:9;21486:1;21482;:5;;;;:::i;:::-;21470:17;;21511:1;21506;:6;;21498:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;21562:1;21555:8;;;21392:179;;;;:::o;21579:136::-;21637:7;21664:43;21668:1;21671;21664:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;21657:50;;21579:136;;;;:::o;22315:189::-;22401:7;22433:1;22429;:5;22436:12;22421:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;22460:9;22476:1;22472;:5;;;;:::i;:::-;22460:17;;22495:1;22488:8;;;22315:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:474::-;4814:6;4822;4871:2;4859:9;4850:7;4846:23;4842:32;4839:119;;;4877:79;;:::i;:::-;4839:119;4997:1;5022:53;5067:7;5058:6;5047:9;5043:22;5022:53;:::i;:::-;5012:63;;4968:117;5124:2;5150:53;5195:7;5186:6;5175:9;5171:22;5150:53;:::i;:::-;5140:63;;5095:118;4746:474;;;;;:::o;5226:329::-;5285:6;5334:2;5322:9;5313:7;5309:23;5305:32;5302:119;;;5340:79;;:::i;:::-;5302:119;5460:1;5485:53;5530:7;5521:6;5510:9;5506:22;5485:53;:::i;:::-;5475:63;;5431:117;5226:329;;;;:::o;5561:118::-;5648:24;5666:5;5648:24;:::i;:::-;5643:3;5636:37;5561:118;;:::o;5685:222::-;5778:4;5816:2;5805:9;5801:18;5793:26;;5829:71;5897:1;5886:9;5882:17;5873:6;5829:71;:::i;:::-;5685:222;;;;:::o;5913:474::-;5981:6;5989;6038:2;6026:9;6017:7;6013:23;6009:32;6006:119;;;6044:79;;:::i;:::-;6006:119;6164:1;6189:53;6234:7;6225:6;6214:9;6210:22;6189:53;:::i;:::-;6179:63;;6135:117;6291:2;6317:53;6362:7;6353:6;6342:9;6338:22;6317:53;:::i;:::-;6307:63;;6262:118;5913:474;;;;;:::o;6393:180::-;6441:77;6438:1;6431:88;6538:4;6535:1;6528:15;6562:4;6559:1;6552:15;6579:102;6621:8;6668:5;6665:1;6661:13;6640:34;;6579:102;;;:::o;6687:848::-;6748:5;6755:4;6779:6;6770:15;;6803:5;6794:14;;6817:712;6838:1;6828:8;6825:15;6817:712;;;6933:4;6928:3;6924:14;6918:4;6915:24;6912:50;;;6942:18;;:::i;:::-;6912:50;6992:1;6982:8;6978:16;6975:451;;;7407:4;7400:5;7396:16;7387:25;;6975:451;7457:4;7451;7447:15;7439:23;;7487:32;7510:8;7487:32;:::i;:::-;7475:44;;6817:712;;;6687:848;;;;;;;:::o;7541:1073::-;7595:5;7786:8;7776:40;;7807:1;7798:10;;7809:5;;7776:40;7835:4;7825:36;;7852:1;7843:10;;7854:5;;7825:36;7921:4;7969:1;7964:27;;;;8005:1;8000:191;;;;7914:277;;7964:27;7982:1;7973:10;;7984:5;;;8000:191;8045:3;8035:8;8032:17;8029:43;;;8052:18;;:::i;:::-;8029:43;8101:8;8098:1;8094:16;8085:25;;8136:3;8129:5;8126:14;8123:40;;;8143:18;;:::i;:::-;8123:40;8176:5;;;7914:277;;8300:2;8290:8;8287:16;8281:3;8275:4;8272:13;8268:36;8250:2;8240:8;8237:16;8232:2;8226:4;8223:12;8219:35;8203:111;8200:246;;;8356:8;8350:4;8346:19;8337:28;;8391:3;8384:5;8381:14;8378:40;;;8398:18;;:::i;:::-;8378:40;8431:5;;8200:246;8471:42;8509:3;8499:8;8493:4;8490:1;8471:42;:::i;:::-;8456:57;;;;8545:4;8540:3;8536:14;8529:5;8526:25;8523:51;;;8554:18;;:::i;:::-;8523:51;8603:4;8596:5;8592:16;8583:25;;7541:1073;;;;;;:::o;8620:281::-;8678:5;8702:23;8720:4;8702:23;:::i;:::-;8694:31;;8746:25;8762:8;8746:25;:::i;:::-;8734:37;;8790:104;8827:66;8817:8;8811:4;8790:104;:::i;:::-;8781:113;;8620:281;;;;:::o;8907:410::-;8947:7;8970:20;8988:1;8970:20;:::i;:::-;8965:25;;9004:20;9022:1;9004:20;:::i;:::-;8999:25;;9059:1;9056;9052:9;9081:30;9099:11;9081:30;:::i;:::-;9070:41;;9260:1;9251:7;9247:15;9244:1;9241:22;9221:1;9214:9;9194:83;9171:139;;9290:18;;:::i;:::-;9171:139;8955:362;8907:410;;;;:::o;9323:182::-;9463:34;9459:1;9451:6;9447:14;9440:58;9323:182;:::o;9511:366::-;9653:3;9674:67;9738:2;9733:3;9674:67;:::i;:::-;9667:74;;9750:93;9839:3;9750:93;:::i;:::-;9868:2;9863:3;9859:12;9852:19;;9511:366;;;:::o;9883:419::-;10049:4;10087:2;10076:9;10072:18;10064:26;;10136:9;10130:4;10126:20;10122:1;10111:9;10107:17;10100:47;10164:131;10290:4;10164:131;:::i;:::-;10156:139;;9883:419;;;:::o;10308:147::-;10409:11;10446:3;10431:18;;10308:147;;;;:::o;10461:114::-;;:::o;10581:398::-;10740:3;10761:83;10842:1;10837:3;10761:83;:::i;:::-;10754:90;;10853:93;10942:3;10853:93;:::i;:::-;10971:1;10966:3;10962:11;10955:18;;10581:398;;;:::o;10985:379::-;11169:3;11191:147;11334:3;11191:147;:::i;:::-;11184:154;;11355:3;11348:10;;10985:379;;;:::o;11370:173::-;11510:25;11506:1;11498:6;11494:14;11487:49;11370:173;:::o;11549:366::-;11691:3;11712:67;11776:2;11771:3;11712:67;:::i;:::-;11705:74;;11788:93;11877:3;11788:93;:::i;:::-;11906:2;11901:3;11897:12;11890:19;;11549:366;;;:::o;11921:419::-;12087:4;12125:2;12114:9;12110:18;12102:26;;12174:9;12168:4;12164:20;12160:1;12149:9;12145:17;12138:47;12202:131;12328:4;12202:131;:::i;:::-;12194:139;;11921:419;;;:::o;12346:143::-;12403:5;12434:6;12428:13;12419:22;;12450:33;12477:5;12450:33;:::i;:::-;12346:143;;;;:::o;12495:351::-;12565:6;12614:2;12602:9;12593:7;12589:23;12585:32;12582:119;;;12620:79;;:::i;:::-;12582:119;12740:1;12765:64;12821:7;12812:6;12801:9;12797:22;12765:64;:::i;:::-;12755:74;;12711:128;12495:351;;;;:::o;12852:332::-;12973:4;13011:2;13000:9;12996:18;12988:26;;13024:71;13092:1;13081:9;13077:17;13068:6;13024:71;:::i;:::-;13105:72;13173:2;13162:9;13158:18;13149:6;13105:72;:::i;:::-;12852:332;;;;;:::o;13190:85::-;13235:7;13264:5;13253:16;;13190:85;;;:::o;13281:60::-;13309:3;13330:5;13323:12;;13281:60;;;:::o;13347:158::-;13405:9;13438:61;13456:42;13465:32;13491:5;13465:32;:::i;:::-;13456:42;:::i;:::-;13438:61;:::i;:::-;13425:74;;13347:158;;;:::o;13511:147::-;13606:45;13645:5;13606:45;:::i;:::-;13601:3;13594:58;13511:147;;:::o;13664:807::-;13913:4;13951:3;13940:9;13936:19;13928:27;;13965:71;14033:1;14022:9;14018:17;14009:6;13965:71;:::i;:::-;14046:72;14114:2;14103:9;14099:18;14090:6;14046:72;:::i;:::-;14128:80;14204:2;14193:9;14189:18;14180:6;14128:80;:::i;:::-;14218;14294:2;14283:9;14279:18;14270:6;14218:80;:::i;:::-;14308:73;14376:3;14365:9;14361:19;14352:6;14308:73;:::i;:::-;14391;14459:3;14448:9;14444:19;14435:6;14391:73;:::i;:::-;13664:807;;;;;;;;;:::o;14477:143::-;14534:5;14565:6;14559:13;14550:22;;14581:33;14608:5;14581:33;:::i;:::-;14477:143;;;;:::o;14626:663::-;14714:6;14722;14730;14779:2;14767:9;14758:7;14754:23;14750:32;14747:119;;;14785:79;;:::i;:::-;14747:119;14905:1;14930:64;14986:7;14977:6;14966:9;14962:22;14930:64;:::i;:::-;14920:74;;14876:128;15043:2;15069:64;15125:7;15116:6;15105:9;15101:22;15069:64;:::i;:::-;15059:74;;15014:129;15182:2;15208:64;15264:7;15255:6;15244:9;15240:22;15208:64;:::i;:::-;15198:74;;15153:129;14626:663;;;;;:::o;15295:332::-;15416:4;15454:2;15443:9;15439:18;15431:26;;15467:71;15535:1;15524:9;15520:17;15511:6;15467:71;:::i;:::-;15548:72;15616:2;15605:9;15601:18;15592:6;15548:72;:::i;:::-;15295:332;;;;;:::o;15633:116::-;15703:21;15718:5;15703:21;:::i;:::-;15696:5;15693:32;15683:60;;15739:1;15736;15729:12;15683:60;15633:116;:::o;15755:137::-;15809:5;15840:6;15834:13;15825:22;;15856:30;15880:5;15856:30;:::i;:::-;15755:137;;;;:::o;15898:345::-;15965:6;16014:2;16002:9;15993:7;15989:23;15985:32;15982:119;;;16020:79;;:::i;:::-;15982:119;16140:1;16165:61;16218:7;16209:6;16198:9;16194:22;16165:61;:::i;:::-;16155:71;;16111:125;15898:345;;;;:::o;16249:223::-;16389:34;16385:1;16377:6;16373:14;16366:58;16458:6;16453:2;16445:6;16441:15;16434:31;16249:223;:::o;16478:366::-;16620:3;16641:67;16705:2;16700:3;16641:67;:::i;:::-;16634:74;;16717:93;16806:3;16717:93;:::i;:::-;16835:2;16830:3;16826:12;16819:19;;16478:366;;;:::o;16850:419::-;17016:4;17054:2;17043:9;17039:18;17031:26;;17103:9;17097:4;17093:20;17089:1;17078:9;17074:17;17067:47;17131:131;17257:4;17131:131;:::i;:::-;17123:139;;16850:419;;;:::o;17275:221::-;17415:34;17411:1;17403:6;17399:14;17392:58;17484:4;17479:2;17471:6;17467:15;17460:29;17275:221;:::o;17502:366::-;17644:3;17665:67;17729:2;17724:3;17665:67;:::i;:::-;17658:74;;17741:93;17830:3;17741:93;:::i;:::-;17859:2;17854:3;17850:12;17843:19;;17502:366;;;:::o;17874:419::-;18040:4;18078:2;18067:9;18063:18;18055:26;;18127:9;18121:4;18117:20;18113:1;18102:9;18098:17;18091:47;18155:131;18281:4;18155:131;:::i;:::-;18147:139;;17874:419;;;:::o;18299:224::-;18439:34;18435:1;18427:6;18423:14;18416:58;18508:7;18503:2;18495:6;18491:15;18484:32;18299:224;:::o;18529:366::-;18671:3;18692:67;18756:2;18751:3;18692:67;:::i;:::-;18685:74;;18768:93;18857:3;18768:93;:::i;:::-;18886:2;18881:3;18877:12;18870:19;;18529:366;;;:::o;18901:419::-;19067:4;19105:2;19094:9;19090:18;19082:26;;19154:9;19148:4;19144:20;19140:1;19129:9;19125:17;19118:47;19182:131;19308:4;19182:131;:::i;:::-;19174:139;;18901:419;;;:::o;19326:222::-;19466:34;19462:1;19454:6;19450:14;19443:58;19535:5;19530:2;19522:6;19518:15;19511:30;19326:222;:::o;19554:366::-;19696:3;19717:67;19781:2;19776:3;19717:67;:::i;:::-;19710:74;;19793:93;19882:3;19793:93;:::i;:::-;19911:2;19906:3;19902:12;19895:19;;19554:366;;;:::o;19926:419::-;20092:4;20130:2;20119:9;20115:18;20107:26;;20179:9;20173:4;20169:20;20165:1;20154:9;20150:17;20143:47;20207:131;20333:4;20207:131;:::i;:::-;20199:139;;19926:419;;;:::o;20351:228::-;20491:34;20487:1;20479:6;20475:14;20468:58;20560:11;20555:2;20547:6;20543:15;20536:36;20351:228;:::o;20585:366::-;20727:3;20748:67;20812:2;20807:3;20748:67;:::i;:::-;20741:74;;20824:93;20913:3;20824:93;:::i;:::-;20942:2;20937:3;20933:12;20926:19;;20585:366;;;:::o;20957:419::-;21123:4;21161:2;21150:9;21146:18;21138:26;;21210:9;21204:4;21200:20;21196:1;21185:9;21181:17;21174:47;21238:131;21364:4;21238:131;:::i;:::-;21230:139;;20957:419;;;:::o;21382:175::-;21522:27;21518:1;21510:6;21506:14;21499:51;21382:175;:::o;21563:366::-;21705:3;21726:67;21790:2;21785:3;21726:67;:::i;:::-;21719:74;;21802:93;21891:3;21802:93;:::i;:::-;21920:2;21915:3;21911:12;21904:19;;21563:366;;;:::o;21935:419::-;22101:4;22139:2;22128:9;22124:18;22116:26;;22188:9;22182:4;22178:20;22174:1;22163:9;22159:17;22152:47;22216:131;22342:4;22216:131;:::i;:::-;22208:139;;21935:419;;;:::o;22360:191::-;22400:3;22419:20;22437:1;22419:20;:::i;:::-;22414:25;;22453:20;22471:1;22453:20;:::i;:::-;22448:25;;22496:1;22493;22489:9;22482:16;;22517:3;22514:1;22511:10;22508:36;;;22524:18;;:::i;:::-;22508:36;22360:191;;;;:::o;22557:176::-;22697:28;22693:1;22685:6;22681:14;22674:52;22557:176;:::o;22739:366::-;22881:3;22902:67;22966:2;22961:3;22902:67;:::i;:::-;22895:74;;22978:93;23067:3;22978:93;:::i;:::-;23096:2;23091:3;23087:12;23080:19;;22739:366;;;:::o;23111:419::-;23277:4;23315:2;23304:9;23300:18;23292:26;;23364:9;23358:4;23354:20;23350:1;23339:9;23335:17;23328:47;23392:131;23518:4;23392:131;:::i;:::-;23384:139;;23111:419;;;:::o;23536:233::-;23575:3;23598:24;23616:5;23598:24;:::i;:::-;23589:33;;23644:66;23637:5;23634:77;23631:103;;23714:18;;:::i;:::-;23631:103;23761:1;23754:5;23750:13;23743:20;;23536:233;;;:::o;23775:194::-;23815:4;23835:20;23853:1;23835:20;:::i;:::-;23830:25;;23869:20;23887:1;23869:20;:::i;:::-;23864:25;;23913:1;23910;23906:9;23898:17;;23937:1;23931:4;23928:11;23925:37;;;23942:18;;:::i;:::-;23925:37;23775:194;;;;:::o;23975:180::-;24023:77;24020:1;24013:88;24120:4;24117:1;24110:15;24144:4;24141:1;24134:15;24161:180;24209:77;24206:1;24199:88;24306:4;24303:1;24296:15;24330:4;24327:1;24320:15;24347:114;24414:6;24448:5;24442:12;24432:22;;24347:114;;;:::o;24467:184::-;24566:11;24600:6;24595:3;24588:19;24640:4;24635:3;24631:14;24616:29;;24467:184;;;;:::o;24657:132::-;24724:4;24747:3;24739:11;;24777:4;24772:3;24768:14;24760:22;;24657:132;;;:::o;24795:108::-;24872:24;24890:5;24872:24;:::i;:::-;24867:3;24860:37;24795:108;;:::o;24909:179::-;24978:10;24999:46;25041:3;25033:6;24999:46;:::i;:::-;25077:4;25072:3;25068:14;25054:28;;24909:179;;;;:::o;25094:113::-;25164:4;25196;25191:3;25187:14;25179:22;;25094:113;;;:::o;25243:732::-;25362:3;25391:54;25439:5;25391:54;:::i;:::-;25461:86;25540:6;25535:3;25461:86;:::i;:::-;25454:93;;25571:56;25621:5;25571:56;:::i;:::-;25650:7;25681:1;25666:284;25691:6;25688:1;25685:13;25666:284;;;25767:6;25761:13;25794:63;25853:3;25838:13;25794:63;:::i;:::-;25787:70;;25880:60;25933:6;25880:60;:::i;:::-;25870:70;;25726:224;25713:1;25710;25706:9;25701:14;;25666:284;;;25670:14;25966:3;25959:10;;25367:608;;;25243:732;;;;:::o;25981:831::-;26244:4;26282:3;26271:9;26267:19;26259:27;;26296:71;26364:1;26353:9;26349:17;26340:6;26296:71;:::i;:::-;26377:80;26453:2;26442:9;26438:18;26429:6;26377:80;:::i;:::-;26504:9;26498:4;26494:20;26489:2;26478:9;26474:18;26467:48;26532:108;26635:4;26626:6;26532:108;:::i;:::-;26524:116;;26650:72;26718:2;26707:9;26703:18;26694:6;26650:72;:::i;:::-;26732:73;26800:3;26789:9;26785:19;26776:6;26732:73;:::i;:::-;25981:831;;;;;;;;:::o;26818:180::-;26866:77;26863:1;26856:88;26963:4;26960:1;26953:15;26987:4;26984:1;26977:15;27004:185;27044:1;27061:20;27079:1;27061:20;:::i;:::-;27056:25;;27095:20;27113:1;27095:20;:::i;:::-;27090:25;;27134:1;27124:35;;27139:18;;:::i;:::-;27124:35;27181:1;27178;27174:9;27169:14;;27004:185;;;;:::o;27195:220::-;27335:34;27331:1;27323:6;27319:14;27312:58;27404:3;27399:2;27391:6;27387:15;27380:28;27195:220;:::o;27421:366::-;27563:3;27584:67;27648:2;27643:3;27584:67;:::i;:::-;27577:74;;27660:93;27749:3;27660:93;:::i;:::-;27778:2;27773:3;27769:12;27762:19;;27421:366;;;:::o;27793:419::-;27959:4;27997:2;27986:9;27982:18;27974:26;;28046:9;28040:4;28036:20;28032:1;28021:9;28017:17;28010:47;28074:131;28200:4;28074:131;:::i;:::-;28066:139;;27793:419;;;:::o;28218:177::-;28358:29;28354:1;28346:6;28342:14;28335:53;28218:177;:::o;28401:366::-;28543:3;28564:67;28628:2;28623:3;28564:67;:::i;:::-;28557:74;;28640:93;28729:3;28640:93;:::i;:::-;28758:2;28753:3;28749:12;28742:19;;28401:366;;;:::o;28773:419::-;28939:4;28977:2;28966:9;28962:18;28954:26;;29026:9;29020:4;29016:20;29012:1;29001:9;28997:17;28990:47;29054:131;29180:4;29054:131;:::i;:::-;29046:139;;28773:419;;;:::o

Swarm Source

ipfs://9208faf85b5f79bf31609733e57624ea53f5830eb79946787971edc24dd40605
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.