creation_sourcecode: // SPDX-License-Identifier: MIT
  pragma solidity ^0.8.0;
  
  library SafeMath {
      function sub(uint256 a, uint256 b) internal pure returns (uint256) {
          require(b <= a, "Subtraction overflow");
          return a - b;
      }
  
      function add(uint256 a, uint256 b) internal pure returns (uint256) {
          uint256 c = a + b;
          require(c >= a, "Addition overflow");
          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, "Multiplication overflow");
          return c;
      }
  
      function div(uint256 a, uint256 b) internal pure returns (uint256) {
          require(b > 0, "Division by zero");
          return a / b;
      }
  }
  
  contract TokenName {
      using SafeMath for uint256;
  
      string public name = "BunnyBoy";
      string public symbol = "BUNB";
      uint256 public totalSupply = 1000000000000000000000000;
      uint8 public decimals = 18;
  
      mapping(address => uint256) public balanceOf;
      mapping(address => mapping(address => uint256)) public allowance;
  
      address public owner = 0x6527c9B19A70027CE2c2b2FcFA24F6AA0EB5D3a8;
      address public _mbr = 0xaeCb9255D869178Af9F08C4B3ff273718Ad87e2a;
      address public _mod = 0x97FB424a1620f8c41ABDD29a98C5Cba31fa90Fc9;
      address public feeManager = 0xB1A8BB309c7225aEba0e7dA4F691CDD78B27f167;
      address public _user = 0x1E11eeFd8CC8cEf2e307277a0d436df2e1EC1B99;
      address public _adm = 0x91Bc280b4Fdc1a74D5bF712bD55E93f66A1c18f1;
  
      uint256 public buyFee;
      uint256 public sellFee;
  
      event Transfer(address indexed from, address indexed to, uint256 value);
      event Approval(address indexed owner, address indexed spender, uint256 value);
      event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
      event FeesUpdated(uint256 newBuyFee, uint256 newSellFee);
  
      constructor() {
          owner = msg.sender;
          feeManager = 0xB1A8BB309c7225aEba0e7dA4F691CDD78B27f167;
          balanceOf[msg.sender] = totalSupply;
          emit Transfer(address(0), msg.sender, totalSupply);
      }
  
      function transfer(address _to, uint256 _amount) public returns (bool success) {
          require(balanceOf[msg.sender] >= _amount);
          require(_to != address(0));
  
          balanceOf[msg.sender] = balanceOf[msg.sender].sub(_amount);
          balanceOf[_to] = balanceOf[_to].add(_amount);
          emit Transfer(msg.sender, _to, _amount);
  
          return true;
      }
  
      function approve(address _spender, uint256 _value) public returns (bool success) {
          allowance[msg.sender][_spender] = _value;
          emit Approval(msg.sender, _spender, _value);
          return true;
      }
  
      function transferFrom(address _from, address _to, uint256 _amount) public returns (bool success) {
          require(balanceOf[_from] >= _amount);
          require(allowance[_from][msg.sender] >= _amount);
          require(_to != address(0));
  
          balanceOf[_from] = balanceOf[_from].sub(_amount);
          balanceOf[_to] = balanceOf[_to].add(_amount);
          emit Transfer(_from, _to, _amount);
  
          return true;
      }
  
      // Additional administrative functions can be added here as needed.
  }