Overview ERC721
Total Supply:
0 CR

Holders:
6
Profile Summary
Blockchain:
Sepolia (11155111)

Contract Source Code Verified (Partial Match)
Contract Name:
Erc721

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No

Created At:
Wed, 24 Jul 2024 15:16:36 GMT
Ownable.sol
@openzeppelin
contracts
access
Ownable.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "name",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "symbol",
        "type": "string"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "approved",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "ApprovalForAll",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "_fromTokenId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "_toTokenId",
        "type": "uint256"
      }
    ],
    "name": "BatchMetadataUpdate",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "_tokenId",
        "type": "uint256"
      }
    ],
    "name": "MetadataUpdate",
    "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": true,
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "getApproved",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getLastTokenId",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      }
    ],
    "name": "isApprovedForAll",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "ownerOf",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "uri",
        "type": "string"
      }
    ],
    "name": "safeMint",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "data",
        "type": "bytes"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "setApprovalForAll",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "interfaceId",
        "type": "bytes4"
      }
    ],
    "name": "supportsInterface",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "tokenURI",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]


Contract Creation Code
608060405260006008553480156200001657600080fd5b50604051620031ea380380620031ea83398181016040528101906200003c9190620003b5565b818181600090805190602001906200005692919062000168565b5080600190805190602001906200006f92919062000168565b50505062000092620000866200009a60201b60201c565b620000a260201b60201c565b50506200049f565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001769062000469565b90600052602060002090601f0160209004810192826200019a5760008555620001e6565b82601f10620001b557805160ff1916838001178555620001e6565b82800160010185558215620001e6579182015b82811115620001e5578251825591602001919060010190620001c8565b5b509050620001f59190620001f9565b5090565b5b8082111562000214576000816000905550600101620001fa565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620002818262000236565b810181811067ffffffffffffffff82111715620002a357620002a262000247565b5b80604052505050565b6000620002b862000218565b9050620002c6828262000276565b919050565b600067ffffffffffffffff821115620002e957620002e862000247565b5b620002f48262000236565b9050602081019050919050565b60005b838110156200032157808201518184015260208101905062000304565b8381111562000331576000848401525b50505050565b60006200034e6200034884620002cb565b620002ac565b9050828152602081018484840111156200036d576200036c62000231565b5b6200037a84828562000301565b509392505050565b600082601f8301126200039a57620003996200022c565b5b8151620003ac84826020860162000337565b91505092915050565b60008060408385031215620003cf57620003ce62000222565b5b600083015167ffffffffffffffff811115620003f057620003ef62000227565b5b620003fe8582860162000382565b925050602083015167ffffffffffffffff81111562000422576200042162000227565b5b620004308582860162000382565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200048257607f821691505b602082108114156200049957620004986200043a565b5b50919050565b612d3b80620004af6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806383c4c00d116100a2578063b88d4fde11610071578063b88d4fde146102cd578063c87b56dd146102e9578063cd279c7c14610319578063e985e9c514610335578063f2fde38b1461036557610116565b806383c4c00d146102575780638da5cb5b1461027557806395d89b4114610293578063a22cb465146102b157610116565b806323b872dd116100e957806323b872dd146101b557806342842e0e146101d15780636352211e146101ed57806370a082311461021d578063715018a61461024d57610116565b806301ffc9a71461011b57806306fdde031461014b578063081812fc14610169578063095ea7b314610199575b600080fd5b61013560048036038101906101309190611d8d565b610381565b6040516101429190611dd5565b60405180910390f35b610153610393565b6040516101609190611e89565b60405180910390f35b610183600480360381019061017e9190611ee1565b610425565b6040516101909190611f4f565b60405180910390f35b6101b360048036038101906101ae9190611f96565b61046b565b005b6101cf60048036038101906101ca9190611fd6565b610583565b005b6101eb60048036038101906101e69190611fd6565b6105e3565b005b61020760048036038101906102029190611ee1565b610603565b6040516102149190611f4f565b60405180910390f35b61023760048036038101906102329190612029565b61068a565b6040516102449190612065565b60405180910390f35b610255610742565b005b61025f610756565b60405161026c9190612065565b60405180910390f35b61027d610760565b60405161028a9190611f4f565b60405180910390f35b61029b61078a565b6040516102a89190611e89565b60405180910390f35b6102cb60048036038101906102c691906120ac565b61081c565b005b6102e760048036038101906102e29190612221565b610832565b005b61030360048036038101906102fe9190611ee1565b610894565b6040516103109190611e89565b60405180910390f35b610333600480360381019061032e9190612345565b6108a6565b005b61034f600480360381019061034a91906123b4565b6108ce565b60405161035c9190611dd5565b60405180910390f35b61037f600480360381019061037a9190612029565b610962565b005b600061038c826109e6565b9050919050565b6060600080546103a290612423565b80601f01602080910402602001604051908101604052809291908181526020018280546103ce90612423565b801561041b5780601f106103f05761010080835404028352916020019161041b565b820191906000526020600020905b8154815290600101906020018083116103fe57829003601f168201915b5050505050905090565b600061043082610a47565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061047682610603565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156104e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104de906124c7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610506610a92565b73ffffffffffffffffffffffffffffffffffffffff16148061053557506105348161052f610a92565b6108ce565b5b610574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056b90612559565b60405180910390fd5b61057e8383610a9a565b505050565b61059461058e610a92565b82610b53565b6105d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ca906125eb565b60405180910390fd5b6105de838383610be8565b505050565b6105fe83838360405180602001604052806000815250610832565b505050565b60008061060f83610ee2565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610681576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067890612657565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f2906126e9565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61074a610f1f565b6107546000610f9d565b565b6000600854905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461079990612423565b80601f01602080910402602001604051908101604052809291908181526020018280546107c590612423565b80156108125780601f106107e757610100808354040283529160200191610812565b820191906000526020600020905b8154815290600101906020018083116107f557829003601f168201915b5050505050905090565b61082e610827610a92565b8383611063565b5050565b61084361083d610a92565b83610b53565b610882576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610879906125eb565b60405180910390fd5b61088e848484846111d0565b50505050565b606061089f8261122c565b9050919050565b6108ae610f1f565b6108b8838361133f565b6108c2828261135d565b81600881905550505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61096a610f1f565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d19061277b565b60405180910390fd5b6109e381610f9d565b50565b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a405750610a3f82611408565b5b9050919050565b610a50816114ea565b610a8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8690612657565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610b0d83610603565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610b5f83610603565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610ba15750610ba081856108ce565b5b80610bdf57508373ffffffffffffffffffffffffffffffffffffffff16610bc784610425565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610c0882610603565b73ffffffffffffffffffffffffffffffffffffffff1614610c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c559061280d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc59061289f565b60405180910390fd5b610cdb838383600161152b565b8273ffffffffffffffffffffffffffffffffffffffff16610cfb82610603565b73ffffffffffffffffffffffffffffffffffffffff1614610d51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d489061280d565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610edd8383836001611531565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610f27610a92565b73ffffffffffffffffffffffffffffffffffffffff16610f45610760565b73ffffffffffffffffffffffffffffffffffffffff1614610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f929061290b565b60405180910390fd5b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c990612977565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111c39190611dd5565b60405180910390a3505050565b6111db848484610be8565b6111e784848484611537565b611226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121d90612a09565b60405180910390fd5b50505050565b606061123782610a47565b600060066000848152602001908152602001600020805461125790612423565b80601f016020809104026020016040519081016040528092919081815260200182805461128390612423565b80156112d05780601f106112a5576101008083540402835291602001916112d0565b820191906000526020600020905b8154815290600101906020018083116112b357829003601f168201915b5050505050905060006112e16116ce565b90506000815114156112f757819250505061133a565b60008251111561132c578082604051602001611314929190612a65565b6040516020818303038152906040529250505061133a565b611335846116e5565b925050505b919050565b61135982826040518060200160405280600081525061174d565b5050565b611366826114ea565b6113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c90612afb565b60405180910390fd5b806006600084815260200190815260200160002090805190602001906113cc929190611c7e565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516113fc9190612065565b60405180910390a15050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806114d357507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806114e357506114e2826117a8565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661150c83610ee2565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b60006115588473ffffffffffffffffffffffffffffffffffffffff16611812565b156116c1578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611581610a92565b8786866040518563ffffffff1660e01b81526004016115a39493929190612b70565b602060405180830381600087803b1580156115bd57600080fd5b505af19250505080156115ee57506040513d601f19601f820116820180604052508101906115eb9190612bd1565b60015b611671573d806000811461161e576040519150601f19603f3d011682016040523d82523d6000602084013e611623565b606091505b50600081511415611669576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166090612a09565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506116c6565b600190505b949350505050565b606060405180602001604052806000815250905090565b60606116f082610a47565b60006116fa6116ce565b9050600081511161171a5760405180602001604052806000815250611745565b8061172484611835565b604051602001611735929190612a65565b6040516020818303038152906040525b915050919050565b611757838361190d565b6117646000848484611537565b6117a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179a90612a09565b60405180910390fd5b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60606000600161184484611b2b565b01905060008167ffffffffffffffff811115611863576118626120f6565b5b6040519080825280601f01601f1916602001820160405280156118955781602001600182028036833780820191505090505b509050600082602001820190505b600115611902578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816118ec576118eb612bfe565b5b04945060008514156118fd57611902565b6118a3565b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561197d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197490612c79565b60405180910390fd5b611986816114ea565b156119c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bd90612ce5565b60405180910390fd5b6119d460008383600161152b565b6119dd816114ea565b15611a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1490612ce5565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611b27600083836001611531565b5050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611b89577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611b7f57611b7e612bfe565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611bc6576d04ee2d6d415b85acef81000000008381611bbc57611bbb612bfe565b5b0492506020810190505b662386f26fc100008310611bf557662386f26fc100008381611beb57611bea612bfe565b5b0492506010810190505b6305f5e1008310611c1e576305f5e1008381611c1457611c13612bfe565b5b0492506008810190505b6127108310611c43576127108381611c3957611c38612bfe565b5b0492506004810190505b60648310611c665760648381611c5c57611c5b612bfe565b5b0492506002810190505b600a8310611c75576001810190505b80915050919050565b828054611c8a90612423565b90600052602060002090601f016020900481019282611cac5760008555611cf3565b82601f10611cc557805160ff1916838001178555611cf3565b82800160010185558215611cf3579182015b82811115611cf2578251825591602001919060010190611cd7565b5b509050611d009190611d04565b5090565b5b80821115611d1d576000816000905550600101611d05565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d6a81611d35565b8114611d7557600080fd5b50565b600081359050611d8781611d61565b92915050565b600060208284031215611da357611da2611d2b565b5b6000611db184828501611d78565b91505092915050565b60008115159050919050565b611dcf81611dba565b82525050565b6000602082019050611dea6000830184611dc6565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e2a578082015181840152602081019050611e0f565b83811115611e39576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e5b82611df0565b611e658185611dfb565b9350611e75818560208601611e0c565b611e7e81611e3f565b840191505092915050565b60006020820190508181036000830152611ea38184611e50565b905092915050565b6000819050919050565b611ebe81611eab565b8114611ec957600080fd5b50565b600081359050611edb81611eb5565b92915050565b600060208284031215611ef757611ef6611d2b565b5b6000611f0584828501611ecc565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f3982611f0e565b9050919050565b611f4981611f2e565b82525050565b6000602082019050611f646000830184611f40565b92915050565b611f7381611f2e565b8114611f7e57600080fd5b50565b600081359050611f9081611f6a565b92915050565b60008060408385031215611fad57611fac611d2b565b5b6000611fbb85828601611f81565b9250506020611fcc85828601611ecc565b9150509250929050565b600080600060608486031215611fef57611fee611d2b565b5b6000611ffd86828701611f81565b935050602061200e86828701611f81565b925050604061201f86828701611ecc565b9150509250925092565b60006020828403121561203f5761203e611d2b565b5b600061204d84828501611f81565b91505092915050565b61205f81611eab565b82525050565b600060208201905061207a6000830184612056565b92915050565b61208981611dba565b811461209457600080fd5b50565b6000813590506120a681612080565b92915050565b600080604083850312156120c3576120c2611d2b565b5b60006120d185828601611f81565b92505060206120e285828601612097565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61212e82611e3f565b810181811067ffffffffffffffff8211171561214d5761214c6120f6565b5b80604052505050565b6000612160611d21565b905061216c8282612125565b919050565b600067ffffffffffffffff82111561218c5761218b6120f6565b5b61219582611e3f565b9050602081019050919050565b82818337600083830152505050565b60006121c46121bf84612171565b612156565b9050828152602081018484840111156121e0576121df6120f1565b5b6121eb8482856121a2565b509392505050565b600082601f830112612208576122076120ec565b5b81356122188482602086016121b1565b91505092915050565b6000806000806080858703121561223b5761223a611d2b565b5b600061224987828801611f81565b945050602061225a87828801611f81565b935050604061226b87828801611ecc565b925050606085013567ffffffffffffffff81111561228c5761228b611d30565b5b612298878288016121f3565b91505092959194509250565b600067ffffffffffffffff8211156122bf576122be6120f6565b5b6122c882611e3f565b9050602081019050919050565b60006122e86122e3846122a4565b612156565b905082815260208101848484011115612304576123036120f1565b5b61230f8482856121a2565b509392505050565b600082601f83011261232c5761232b6120ec565b5b813561233c8482602086016122d5565b91505092915050565b60008060006060848603121561235e5761235d611d2b565b5b600061236c86828701611f81565b935050602061237d86828701611ecc565b925050604084013567ffffffffffffffff81111561239e5761239d611d30565b5b6123aa86828701612317565b9150509250925092565b600080604083850312156123cb576123ca611d2b565b5b60006123d985828601611f81565b92505060206123ea85828601611f81565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061243b57607f821691505b6020821081141561244f5761244e6123f4565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006124b1602183611dfb565b91506124bc82612455565b604082019050919050565b600060208201905081810360008301526124e0816124a4565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612543603d83611dfb565b915061254e826124e7565b604082019050919050565b6000602082019050818103600083015261257281612536565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006125d5602d83611dfb565b91506125e082612579565b604082019050919050565b60006020820190508181036000830152612604816125c8565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000612641601883611dfb565b915061264c8261260b565b602082019050919050565b6000602082019050818103600083015261267081612634565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006126d3602983611dfb565b91506126de82612677565b604082019050919050565b60006020820190508181036000830152612702816126c6565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612765602683611dfb565b915061277082612709565b604082019050919050565b6000602082019050818103600083015261279481612758565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006127f7602583611dfb565b91506128028261279b565b604082019050919050565b60006020820190508181036000830152612826816127ea565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612889602483611dfb565b91506128948261282d565b604082019050919050565b600060208201905081810360008301526128b88161287c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128f5602083611dfb565b9150612900826128bf565b602082019050919050565b60006020820190508181036000830152612924816128e8565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000612961601983611dfb565b915061296c8261292b565b602082019050919050565b6000602082019050818103600083015261299081612954565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006129f3603283611dfb565b91506129fe82612997565b604082019050919050565b60006020820190508181036000830152612a22816129e6565b9050919050565b600081905092915050565b6000612a3f82611df0565b612a498185612a29565b9350612a59818560208601611e0c565b80840191505092915050565b6000612a718285612a34565b9150612a7d8284612a34565b91508190509392505050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000612ae5602e83611dfb565b9150612af082612a89565b604082019050919050565b60006020820190508181036000830152612b1481612ad8565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000612b4282612b1b565b612b4c8185612b26565b9350612b5c818560208601611e0c565b612b6581611e3f565b840191505092915050565b6000608082019050612b856000830187611f40565b612b926020830186611f40565b612b9f6040830185612056565b8181036060830152612bb18184612b37565b905095945050505050565b600081519050612bcb81611d61565b92915050565b600060208284031215612be757612be6611d2b565b5b6000612bf584828501612bbc565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000612c63602083611dfb565b9150612c6e82612c2d565b602082019050919050565b60006020820190508181036000830152612c9281612c56565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000612ccf601c83611dfb565b9150612cda82612c99565b602082019050919050565b60006020820190508181036000830152612cfe81612cc2565b905091905056fea264697066735822122088ff5a96474e9255494bc1d65fe175ba07dc402a4397061c673cf23b9a7d6eb564736f6c634300080900330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000185468652031306b20636f6c6c656374696f6e3a2050617373000000000000000000000000000000000000000000000000000000000000000000000000000000024352000000000000000000000000000000000000000000000000000000000000