Overview ERC20
PRICE
$0.0133401471110555

ON-CHAIN MARKET CAP n/a

Total Supply:
1,000,000.00 GRACIE

Holders:
32
Profile Summary
Blockchain:
Ethereum (1)


Decimals:
9
Contract Source Code Verified (Partial Match)
Contract Name:
gracie

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No

Created At:
Fri, 16 Aug 2024 16:53:35 GMT
gracie.sol
gracie.sol
gracie.sol


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"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "_tax",
        "type": "uint256"
      }
    ],
    "name": "TransferTaxUpdated",
    "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": "bots_",
        "type": "address[]"
      }
    ],
    "name": "addBots",
    "outputs": [],
    "stateMutability": "nonpayable",
    "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": [
      {
        "internalType": "address[]",
        "name": "notbot",
        "type": "address[]"
      }
    ],
    "name": "delBots",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "a",
        "type": "address"
      }
    ],
    "name": "isBot",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "manualSwap",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "manualsend",
    "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": [
      {
        "internalType": "uint256",
        "name": "_newFee",
        "type": "uint256"
      }
    ],
    "name": "reduceFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "removeLimits",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "removeTransferTax",
    "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": [
      {
        "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"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
6080604052601560065560156007555f6008555f6009556016600a556016600b556013600c55601e600d555f600e556009600a6200003e9190620005f5565b614e206200004d919062000645565b600f556009600a620000609190620005f5565b614e206200006f919062000645565b6010556009600a620000829190620005f5565b61271062000091919062000645565b6011556009600a620000a49190620005f5565b614e20620000b3919062000645565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055505f6015555f601655348015620000fe575f80fd5b505f620001106200043560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001bc6200043560201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200020b9190620005f5565b620f42406200021b919062000645565b60015f6200022e6200043560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002806200043c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003aa6200043560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620004089190620005f5565b620f424062000418919062000645565b604051620004279190620006a0565b60405180910390a3620006bb565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004ed57808604811115620004c557620004c462000463565b5b6001851615620004d55780820291505b8081029050620004e58562000490565b9450620004a5565b94509492505050565b5f82620005075760019050620005d9565b8162000516575f9050620005d9565b81600181146200052f57600281146200053a5762000570565b6001915050620005d9565b60ff8411156200054f576200054e62000463565b5b8360020a91508482111562000569576200056862000463565b5b50620005d9565b5060208310610133831016604e8410600b8410161715620005aa5782820a905083811115620005a457620005a362000463565b5b620005d9565b620005b984848460016200049c565b92509050818404811115620005d357620005d262000463565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200060182620005e0565b91506200060e83620005e9565b92506200063d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004f6565b905092915050565b5f6200065182620005e0565b91506200065e83620005e0565b92508282026200066e81620005e0565b9150828204841483151762000688576200068762000463565b5b5092915050565b6200069a81620005e0565b82525050565b5f602082019050620006b55f8301846200068f565b92915050565b6135d980620006c95f395ff3fe60806040526004361061014e575f3560e01c8063715018a6116100b5578063a9059cbb1161006e578063a9059cbb1461042f578063bf474bed1461046b578063c9567bf914610495578063d34628cc146104ab578063dd62ed3e146104d3578063ec1f3f631461050f57610155565b8063715018a61461035b578063751039fc146103715780637d1db4a5146103875780638da5cb5b146103b15780638f9a55c0146103db57806395d89b411461040557610155565b8063313ce56711610107578063313ce5671461026557806331c2d8471461028f5780633bbac579146102b757806351bc3c85146102f35780636fc3eaec1461030957806370a082311461031f57610155565b806306fdde0314610159578063095ea7b3146101835780630faee56f146101bf578063109daa99146101e957806318160ddd146101ff57806323b872dd1461022957610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610537565b60405161017a919061256c565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a4919061262a565b610574565b6040516101b69190612682565b60405180910390f35b3480156101ca575f80fd5b506101d3610591565b6040516101e091906126aa565b60405180910390f35b3480156101f4575f80fd5b506101fd610597565b005b34801561020a575f80fd5b5061021361066b565b60405161022091906126aa565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a91906126c3565b61068d565b60405161025c9190612682565b60405180910390f35b348015610270575f80fd5b50610279610761565b604051610286919061272e565b60405180910390f35b34801561029a575f80fd5b506102b560048036038101906102b09190612887565b610769565b005b3480156102c2575f80fd5b506102dd60048036038101906102d891906128ce565b610887565b6040516102ea9190612682565b60405180910390f35b3480156102fe575f80fd5b506103076108d9565b005b348015610314575f80fd5b5061031d610970565b005b34801561032a575f80fd5b50610345600480360381019061034091906128ce565b6109df565b60405161035291906126aa565b60405180910390f35b348015610366575f80fd5b5061036f610a25565b005b34801561037c575f80fd5b50610385610b73565b005b348015610392575f80fd5b5061039b610c9f565b6040516103a891906126aa565b60405180910390f35b3480156103bc575f80fd5b506103c5610ca5565b6040516103d29190612908565b60405180910390f35b3480156103e6575f80fd5b506103ef610ccc565b6040516103fc91906126aa565b60405180910390f35b348015610410575f80fd5b50610419610cd2565b604051610426919061256c565b60405180910390f35b34801561043a575f80fd5b506104556004803603810190610450919061262a565b610d0f565b6040516104629190612682565b60405180910390f35b348015610476575f80fd5b5061047f610d2c565b60405161048c91906126aa565b60405180910390f35b3480156104a0575f80fd5b506104a9610d32565b005b3480156104b6575f80fd5b506104d160048036038101906104cc9190612887565b611250565b005b3480156104de575f80fd5b506104f960048036038101906104f49190612921565b61136f565b60405161050691906126aa565b60405180910390f35b34801561051a575f80fd5b506105356004803603810190610530919061295f565b6113f1565b005b60606040518060400160405280600e81526020017f4e6f6c616e642041726261756768000000000000000000000000000000000000815250905090565b5f61058761058061147d565b8484611484565b6001905092915050565b60125481565b61059f61147d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610622906129d4565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106619190612a34565b60405180910390a1565b5f6009600a61067a9190612ba9565b620f42406106889190612bf3565b905090565b5f610699848484611647565b610756846106a561147d565b6107518560405180606001604052806028815260200161357c6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61070861147d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fce9092919063ffffffff16565b611484565b600190509392505050565b5f6009905090565b61077161147d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f4906129d4565b60405180910390fd5b5f5b8151811015610883575f60045f84848151811061081f5761081e612c34565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506107ff565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661091961147d565b73ffffffffffffffffffffffffffffffffffffffff1614610938575f80fd5b5f610942306109df565b90505f8111156109565761095581612030565b5b5f4790505f81111561096c5761096b8161229b565b5b5050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109b061147d565b73ffffffffffffffffffffffffffffffffffffffff16146109cf575f80fd5b5f4790506109dc8161229b565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a2d61147d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab0906129d4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b7b61147d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfe906129d4565b60405180910390fd5b6009600a610c159190612ba9565b620f4240610c239190612bf3565b600f819055506009600a610c379190612ba9565b620f4240610c459190612bf3565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610c7a9190612ba9565b620f4240610c889190612bf3565b604051610c9591906126aa565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f4752414349450000000000000000000000000000000000000000000000000000815250905090565b5f610d22610d1b61147d565b8484611647565b6001905092915050565b60115481565b610d3a61147d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbd906129d4565b60405180910390fd5b60148054906101000a900460ff1615610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b90612cab565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610eaf3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e9c9190612ba9565b620f4240610eaa9190612bf3565b611484565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3d9190612cdd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe79190612cdd565b6040518363ffffffff1660e01b8152600401611004929190612d08565b6020604051808303815f875af1158015611020573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110449190612cdd565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110cb306109df565b5f806110d5610ca5565b426040518863ffffffff1660e01b81526004016110f796959493929190612d2f565b60606040518083038185885af1158015611113573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111389190612da2565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111d8929190612df2565b6020604051808303815f875af11580156111f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112189190612e43565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b61125861147d565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112db906129d4565b60405180910390fd5b5f5b815181101561136b57600160045f84848151811061130757611306612c34565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506112e6565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661143161147d565b73ffffffffffffffffffffffffffffffffffffffff1614611450575f80fd5b600854811115801561146457506009548111155b61146c575f80fd5b806008819055508060098190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e990612ede565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155790612f6c565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161163a91906126aa565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ac90612ffa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171a90613088565b60405180910390fd5b5f8111611765576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175c90613116565b60405180910390fd5b5f61176e610ca5565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117dc57506117ac610ca5565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d1e5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561187f575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611887575f80fd5b5f600e54036118cf576118cc60646118be600a54600e54116118ab576006546118af565b6008545b8561230390919063ffffffff16565b61237a90919063ffffffff16565b90505b5f600e5411156119045761190160646118f3600d548561230390919063ffffffff16565b61237a90919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119ad575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a00575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611af857600f54821115611a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a419061317e565b60405180910390fd5b60105482611a57856109df565b611a61919061319c565b1115611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9990613219565b60405180910390fd5b611ade6064611ad0600a54600e5411611abd57600654611ac1565b6008545b8561230390919063ffffffff16565b61237a90919063ffffffff16565b9050600e5f815480929190611af290613237565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b8057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611bc457611bc16064611bb3600b54600e5411611ba057600754611ba4565b6009545b8561230390919063ffffffff16565b61237a90919063ffffffff16565b90505b5f611bce306109df565b9050601460159054906101000a900460ff16158015611c39575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c515750601460169054906101000a900460ff165b8015611c5e575060115481115b8015611c6d5750600c54600e54115b15611d1c57601654431115611c84575f6015819055505b600360155410611cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc0906132c8565b60405180910390fd5b611ce6611ce184611cdc846012546123c3565b6123c3565b612030565b5f4790505f811115611cfc57611cfb4761229b565b5b60155f815480929190611d0e90613237565b919050555043601681905550505b505b5f811115611e1d57611d768160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123db90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e1491906126aa565b60405180910390a35b611e6d8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461243890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611f10611ec4828461243890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123db90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611fb3848661243890919063ffffffff16565b604051611fc091906126aa565b60405180910390a350505050565b5f838311158290612015576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200c919061256c565b60405180910390fd5b505f838561202391906132e6565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156120675761206661274b565b5b6040519080825280602002602001820160405280156120955781602001602082028036833780820191505090505b50905030815f815181106120ac576120ab612c34565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612150573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121749190612cdd565b8160018151811061218857612187612c34565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121ee3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611484565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016122509594939291906133d0565b5f604051808303815f87803b158015612267575f80fd5b505af1158015612279573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156122ff573d5f803e3d5ffd5b5050565b5f808303612313575f9050612374565b5f82846123209190612bf3565b905082848261232f9190613455565b1461236f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612366906134f5565b60405180910390fd5b809150505b92915050565b5f6123bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612481565b905092915050565b5f8183116123d157826123d3565b815b905092915050565b5f8082846123e9919061319c565b90508381101561242e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124259061355d565b60405180910390fd5b8091505092915050565b5f61247983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fce565b905092915050565b5f80831182906124c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124be919061256c565b60405180910390fd5b505f83856124d59190613455565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156125195780820151818401526020810190506124fe565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61253e826124e2565b61254881856124ec565b93506125588185602086016124fc565b61256181612524565b840191505092915050565b5f6020820190508181035f8301526125848184612534565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125c68261259d565b9050919050565b6125d6816125bc565b81146125e0575f80fd5b50565b5f813590506125f1816125cd565b92915050565b5f819050919050565b612609816125f7565b8114612613575f80fd5b50565b5f8135905061262481612600565b92915050565b5f80604083850312156126405761263f612595565b5b5f61264d858286016125e3565b925050602061265e85828601612616565b9150509250929050565b5f8115159050919050565b61267c81612668565b82525050565b5f6020820190506126955f830184612673565b92915050565b6126a4816125f7565b82525050565b5f6020820190506126bd5f83018461269b565b92915050565b5f805f606084860312156126da576126d9612595565b5b5f6126e7868287016125e3565b93505060206126f8868287016125e3565b925050604061270986828701612616565b9150509250925092565b5f60ff82169050919050565b61272881612713565b82525050565b5f6020820190506127415f83018461271f565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61278182612524565b810181811067ffffffffffffffff821117156127a05761279f61274b565b5b80604052505050565b5f6127b261258c565b90506127be8282612778565b919050565b5f67ffffffffffffffff8211156127dd576127dc61274b565b5b602082029050602081019050919050565b5f80fd5b5f6128046127ff846127c3565b6127a9565b90508083825260208201905060208402830185811115612827576128266127ee565b5b835b81811015612850578061283c88826125e3565b845260208401935050602081019050612829565b5050509392505050565b5f82601f83011261286e5761286d612747565b5b813561287e8482602086016127f2565b91505092915050565b5f6020828403121561289c5761289b612595565b5b5f82013567ffffffffffffffff8111156128b9576128b8612599565b5b6128c58482850161285a565b91505092915050565b5f602082840312156128e3576128e2612595565b5b5f6128f0848285016125e3565b91505092915050565b612902816125bc565b82525050565b5f60208201905061291b5f8301846128f9565b92915050565b5f806040838503121561293757612936612595565b5b5f612944858286016125e3565b9250506020612955858286016125e3565b9150509250929050565b5f6020828403121561297457612973612595565b5b5f61298184828501612616565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6129be6020836124ec565b91506129c98261298a565b602082019050919050565b5f6020820190508181035f8301526129eb816129b2565b9050919050565b5f819050919050565b5f819050919050565b5f612a1e612a19612a14846129f2565b6129fb565b6125f7565b9050919050565b612a2e81612a04565b82525050565b5f602082019050612a475f830184612a25565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612acf57808604811115612aab57612aaa612a4d565b5b6001851615612aba5780820291505b8081029050612ac885612a7a565b9450612a8f565b94509492505050565b5f82612ae75760019050612ba2565b81612af4575f9050612ba2565b8160018114612b0a5760028114612b1457612b43565b6001915050612ba2565b60ff841115612b2657612b25612a4d565b5b8360020a915084821115612b3d57612b3c612a4d565b5b50612ba2565b5060208310610133831016604e8410600b8410161715612b785782820a905083811115612b7357612b72612a4d565b5b612ba2565b612b858484846001612a86565b92509050818404811115612b9c57612b9b612a4d565b5b81810290505b9392505050565b5f612bb3826125f7565b9150612bbe83612713565b9250612beb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ad8565b905092915050565b5f612bfd826125f7565b9150612c08836125f7565b9250828202612c16816125f7565b91508282048414831517612c2d57612c2c612a4d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612c956017836124ec565b9150612ca082612c61565b602082019050919050565b5f6020820190508181035f830152612cc281612c89565b9050919050565b5f81519050612cd7816125cd565b92915050565b5f60208284031215612cf257612cf1612595565b5b5f612cff84828501612cc9565b91505092915050565b5f604082019050612d1b5f8301856128f9565b612d2860208301846128f9565b9392505050565b5f60c082019050612d425f8301896128f9565b612d4f602083018861269b565b612d5c6040830187612a25565b612d696060830186612a25565b612d7660808301856128f9565b612d8360a083018461269b565b979650505050505050565b5f81519050612d9c81612600565b92915050565b5f805f60608486031215612db957612db8612595565b5b5f612dc686828701612d8e565b9350506020612dd786828701612d8e565b9250506040612de886828701612d8e565b9150509250925092565b5f604082019050612e055f8301856128f9565b612e12602083018461269b565b9392505050565b612e2281612668565b8114612e2c575f80fd5b50565b5f81519050612e3d81612e19565b92915050565b5f60208284031215612e5857612e57612595565b5b5f612e6584828501612e2f565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ec86024836124ec565b9150612ed382612e6e565b604082019050919050565b5f6020820190508181035f830152612ef581612ebc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f566022836124ec565b9150612f6182612efc565b604082019050919050565b5f6020820190508181035f830152612f8381612f4a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612fe46025836124ec565b9150612fef82612f8a565b604082019050919050565b5f6020820190508181035f83015261301181612fd8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6130726023836124ec565b915061307d82613018565b604082019050919050565b5f6020820190508181035f83015261309f81613066565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6131006029836124ec565b915061310b826130a6565b604082019050919050565b5f6020820190508181035f83015261312d816130f4565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131686019836124ec565b915061317382613134565b602082019050919050565b5f6020820190508181035f8301526131958161315c565b9050919050565b5f6131a6826125f7565b91506131b1836125f7565b92508282019050808211156131c9576131c8612a4d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613203601a836124ec565b915061320e826131cf565b602082019050919050565b5f6020820190508181035f830152613230816131f7565b9050919050565b5f613241826125f7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361327357613272612a4d565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6132b26017836124ec565b91506132bd8261327e565b602082019050919050565b5f6020820190508181035f8301526132df816132a6565b9050919050565b5f6132f0826125f7565b91506132fb836125f7565b925082820390508181111561331357613312612a4d565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61334b816125bc565b82525050565b5f61335c8383613342565b60208301905092915050565b5f602082019050919050565b5f61337e82613319565b6133888185613323565b935061339383613333565b805f5b838110156133c35781516133aa8882613351565b97506133b583613368565b925050600181019050613396565b5085935050505092915050565b5f60a0820190506133e35f83018861269b565b6133f06020830187612a25565b81810360408301526134028186613374565b905061341160608301856128f9565b61341e608083018461269b565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61345f826125f7565b915061346a836125f7565b92508261347a57613479613428565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6134df6021836124ec565b91506134ea82613485565b604082019050919050565b5f6020820190508181035f83015261350c816134d3565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613547601b836124ec565b915061355282613513565b602082019050919050565b5f6020820190508181035f8301526135748161353b565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201015ca64f02aef9cdabaaf51db3daf8c5a66cbddbc548b36b0bc8e05e67f9a3c64736f6c63430008170033