Overview ERC721
Total Supply:
4,911 CDG

Holders:
2,834
Profile Summary
Blockchain:
C-Chain (43114)

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

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Created At:
Sun, 26 Mar 2023 07:12:26 GMT
CryptoDystopianGirls.sol
CryptoDystopianGirls.sol
CryptoDystopianGirls.sol


Contract ABI
[
  {
    "inputs": [],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "ApprovalCallerNotOwnerNorApproved",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ApprovalQueryForNonexistentToken",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ApproveToCaller",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "BalanceQueryForZeroAddress",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "MintERC2309QuantityExceedsLimit",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "MintToZeroAddress",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "MintZeroQuantity",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OwnerQueryForNonexistentToken",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OwnershipNotInitializedForExtraData",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TransferCallerNotOwnerNorApproved",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TransferFromIncorrectOwner",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TransferToNonERC721ReceiverImplementer",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TransferToZeroAddress",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "URIQueryForNonexistentToken",
    "type": "error"
  },
  {
    "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": true,
        "internalType": "uint256",
        "name": "fromTokenId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "toTokenId",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "ConsecutiveTransfer",
    "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": [],
    "name": "MAX_SUPPLY",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "_addresses",
        "type": "address[]"
      }
    ],
    "name": "addAllowList",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "addressMinted",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "allowList",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "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": [],
    "name": "baseExtension",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "baseURI",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "cost",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "flipAllowList",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "flipPaused",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "getApproved",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "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": "maxPerTx",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxPerWallet",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "mint",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "onlyAllowList",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "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": "paused",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "royalty",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "royaltyInfo",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "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": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "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"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_newExtension",
        "type": "string"
      }
    ],
    "name": "updateBaseExtension",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_newURI",
        "type": "string"
      }
    ],
    "name": "updateBaseURI",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_newAmount",
        "type": "uint256"
      }
    ],
    "name": "updateCost",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_newAmount",
        "type": "uint256"
      }
    ],
    "name": "updateRoyalty",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]


Contract Creation Code
61010060405260436080818152906200212e60a03980516200002a91600a9160209091019062000262565b5060408051808201909152600580825264173539b7b760d91b60209092019182526200005991600b9162000262565b50600c805461ffff19169055663328b944c40000600d556103e8600e55600a600f5560c86010553480156200008d57600080fd5b50604080518082018252601681527f43727970746f20447973746f7069616e204769726c730000000000000000000060208083019182528351808501909452600384526243444760e81b908401528151919291620000ee9160029162000262565b5080516200010490600390602084019062000262565b5050600160005550620001173362000130565b60016009556200012a336109c462000182565b62000344565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000805490829003620001a85760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b17831790558284019083908390600080516020620021718339815191528180a4600183015b81811462000237578083600060008051602062002171833981519152600080a46001016200020e565b50816000036200025957604051622e076360e81b815260040160405180910390fd5b60005550505050565b828054620002709062000308565b90600052602060002090601f016020900481019282620002945760008555620002df565b82601f10620002af57805160ff1916838001178555620002df565b82800160010185558215620002df579182015b82811115620002df578251825591602001919060010190620002c2565b50620002ed929150620002f1565b5090565b5b80821115620002ed5760008155600101620002f2565b600181811c908216806200031d57607f821691505b6020821081036200033e57634e487b7160e01b600052602260045260246000fd5b50919050565b611dda80620003546000396000f3fe60806040526004361061021a5760003560e01c8063453c23101161012357806395d89b41116100ab578063c87b56dd1161006f578063c87b56dd1461061c578063e985e9c51461063c578063f2fde38b14610685578063f968adbe146106a5578063fa30297e146106bb57600080fd5b806395d89b411461059f578063a0712d68146105b4578063a22cb465146105c7578063b88d4fde146105e7578063c66828621461060757600080fd5b806370a08231116100f257806370a082311461050c578063715018a61461052c5780638da5cb5b146105415780638fffd8b51461055f578063931688cb1461057f57600080fd5b8063453c2310146104a75780635c975abb146104bd5780636352211e146104d75780636c0360eb146104f757600080fd5b8063252e3ab9116101a65780632a55205a116101755780632a55205a146103fd5780633232c10b1461043c57806332cb6b0c1461045c578063333171bb1461047257806342842e0e1461048757600080fd5b8063252e3ab914610366578063255323ff146103855780632848aeaf146103a557806329ee566c146103e757600080fd5b806313faede6116101ed57806313faede6146102d057806318160ddd146102f457806320843e871461031157806323b872dd1461032657806323c5a0881461034657600080fd5b806301ffc9a71461021f57806306fdde0314610254578063081812fc14610276578063095ea7b3146102ae575b600080fd5b34801561022b57600080fd5b5061023f61023a36600461177e565b6106e8565b60405190151581526020015b60405180910390f35b34801561026057600080fd5b50610269610713565b60405161024b91906117f3565b34801561028257600080fd5b50610296610291366004611806565b6107a5565b6040516001600160a01b03909116815260200161024b565b3480156102ba57600080fd5b506102ce6102c936600461183b565b6107e9565b005b3480156102dc57600080fd5b506102e6600d5481565b60405190815260200161024b565b34801561030057600080fd5b5060015460005403600019016102e6565b34801561031d57600080fd5b506102ce610889565b34801561033257600080fd5b506102ce610341366004611865565b6108ae565b34801561035257600080fd5b506102ce610361366004611806565b610a46565b34801561037257600080fd5b50600c5461023f90610100900460ff1681565b34801561039157600080fd5b506102ce6103a03660046118a1565b610a53565b3480156103b157600080fd5b506103d56103c0366004611916565b60116020526000908152604090205460ff1681565b60405160ff909116815260200161024b565b3480156103f357600080fd5b506102e6600e5481565b34801561040957600080fd5b5061041d610418366004611931565b610ad5565b604080516001600160a01b03909316835260208301919091520161024b565b34801561044857600080fd5b506102ce6104573660046119df565b610b10565b34801561046857600080fd5b506102e661270f81565b34801561047e57600080fd5b506102ce610b2f565b34801561049357600080fd5b506102ce6104a2366004611865565b610b4b565b3480156104b357600080fd5b506102e660105481565b3480156104c957600080fd5b50600c5461023f9060ff1681565b3480156104e357600080fd5b506102966104f2366004611806565b610b66565b34801561050357600080fd5b50610269610b71565b34801561051857600080fd5b506102e6610527366004611916565b610bff565b34801561053857600080fd5b506102ce610c4e565b34801561054d57600080fd5b506008546001600160a01b0316610296565b34801561056b57600080fd5b506102ce61057a366004611806565b610c62565b34801561058b57600080fd5b506102ce61059a366004611a28565b610c6f565b3480156105ab57600080fd5b50610269610c83565b6102ce6105c2366004611806565b610c92565b3480156105d357600080fd5b506102ce6105e2366004611a88565b610fdf565b3480156105f357600080fd5b506102ce610602366004611ac4565b611074565b34801561061357600080fd5b506102696110be565b34801561062857600080fd5b50610269610637366004611806565b6110cb565b34801561064857600080fd5b5061023f610657366004611b40565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561069157600080fd5b506102ce6106a0366004611916565b611152565b3480156106b157600080fd5b506102e6600f5481565b3480156106c757600080fd5b506102e66106d6366004611916565b60126020526000908152604090205481565b60006001600160e01b0319821663152a902d60e11b148061070d575061070d826111cb565b92915050565b60606002805461072290611b73565b80601f016020809104026020016040519081016040528092919081815260200182805461074e90611b73565b801561079b5780601f106107705761010080835404028352916020019161079b565b820191906000526020600020905b81548152906001019060200180831161077e57829003601f168201915b5050505050905090565b60006107b082611219565b6107cd576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006107f482610b66565b9050336001600160a01b0382161461082d576108108133610657565b61082d576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b61089161124e565b600c805461ff001981166101009182900460ff1615909102179055565b60006108b9826112a8565b9050836001600160a01b0316816001600160a01b0316146108ec5760405162a1148160e81b815260040160405180910390fd5b60008281526006602052604090208054338082146001600160a01b038816909114176109395761091c8633610657565b61093957604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03851661096057604051633a954ecd60e21b815260040160405180910390fd5b801561096b57600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b841690036109fd576001840160008181526004602052604081205490036109fb5760005481146109fb5760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050505050565b610a4e61124e565b600d55565b610a5b61124e565b60005b81811015610ad057600160116000858585818110610a7e57610a7e611bad565b9050602002016020810190610a939190611916565b6001600160a01b031681526020810191909152604001600020805460ff191660ff9290921691909117905580610ac881611bd9565b915050610a5e565b505050565b600080610aea6008546001600160a01b031690565b612710600e5485610afb9190611bf2565b610b059190611c27565b915091509250929050565b610b1861124e565b8051610b2b90600b90602084019061165b565b5050565b610b3761124e565b600c805460ff19811660ff90911615179055565b610ad083838360405180602001604052806000815250611074565b600061070d826112a8565b600a8054610b7e90611b73565b80601f0160208091040260200160405190810160405280929190818152602001828054610baa90611b73565b8015610bf75780601f10610bcc57610100808354040283529160200191610bf7565b820191906000526020600020905b815481529060010190602001808311610bda57829003601f168201915b505050505081565b60006001600160a01b038216610c28576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b610c5661124e565b610c60600061131e565b565b610c6a61124e565b600e55565b610c7761124e565b610ad0600a83836116df565b60606003805461072290611b73565b600260095403610ce95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260095560015460005461270f9183910360001901610d099190611c3b565b1115610d505760405162461bcd60e51b8152602060048201526016602482015275416d6f756e74206578636565647320737570706c792160501b6044820152606401610ce0565b6008546001600160a01b03163314610ee857600c54610100900460ff1615610dd4573360009081526011602052604090205460ff16600114610dd45760405162461bcd60e51b815260206004820152601960248201527f596f75206172656e2774206f6e20416c6c6f77204c69737421000000000000006044820152606401610ce0565b600f548111158015610e02575060105433600090815260126020526040902054610dff908390611c3b565b11155b610e4e5760405162461bcd60e51b815260206004820152601960248201527f596f752063616e2774206d696e742074686174206d616e7921000000000000006044820152606401610ce0565b600c5460ff1615610e965760405162461bcd60e51b81526020600482015260126024820152714d696e74696e67206973207061757365642160701b6044820152606401610ce0565b80600d54610ea49190611bf2565b3414610ee85760405162461bcd60e51b8152602060048201526013602482015272496e73756666696369656e742066756e64732160681b6044820152606401610ce0565b6000610efc6008546001600160a01b031690565b6001600160a01b03163460405160006040518083038185875af1925050503d8060008114610f46576040519150601f19603f3d011682016040523d82523d6000602084013e610f4b565b606091505b5050905080610fa75760405162461bcd60e51b815260206004820152602260248201527f4661696c656420746f207472616e736665722066756e647320746f206f776e65604482015261722160f01b6064820152608401610ce0565b3360009081526012602052604081208054849290610fc6908490611c3b565b90915550610fd690503383611370565b50506001600955565b336001600160a01b038316036110085760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61107f8484846108ae565b6001600160a01b0383163b156110b85761109b8484848461146e565b6110b8576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b600b8054610b7e90611b73565b60606110d682611219565b6110f357604051630a14c4b560e41b815260040160405180910390fd5b600a805461110090611b73565b905060000361111e576040518060200160405280600081525061070d565b600a6111298361155a565b600b60405160200161113d93929190611cec565b60405160208183030381529060405292915050565b61115a61124e565b6001600160a01b0381166111bf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ce0565b6111c88161131e565b50565b60006301ffc9a760e01b6001600160e01b0319831614806111fc57506380ac58cd60e01b6001600160e01b03198316145b8061070d5750506001600160e01b031916635b5e139f60e01b1490565b60008160011115801561122d575060005482105b801561070d575050600090815260046020526040902054600160e01b161590565b6008546001600160a01b03163314610c605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ce0565b60008180600111611305576000548110156113055760008181526004602052604081205490600160e01b82169003611303575b806000036112fc5750600019016000818152600460205260409020546112db565b9392505050565b505b604051636f96cda160e11b815260040160405180910390fd5b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008054908290036113955760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461144457808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a460010161140c565b508160000361146557604051622e076360e81b815260040160405180910390fd5b60005550505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906114a3903390899088908890600401611d1f565b6020604051808303816000875af19250505080156114de575060408051601f3d908101601f191682019092526114db91810190611d5c565b60015b61153c573d80801561150c576040519150601f19603f3d011682016040523d82523d6000602084013e611511565b606091505b508051600003611534576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b6060816000036115815750506040805180820190915260018152600360fc1b602082015290565b8160005b81156115ab578061159581611bd9565b91506115a49050600a83611c27565b9150611585565b60008167ffffffffffffffff8111156115c6576115c6611953565b6040519080825280601f01601f1916602001820160405280156115f0576020820181803683370190505b5090505b841561155257611605600183611d79565b9150611612600a86611d90565b61161d906030611c3b565b60f81b81838151811061163257611632611bad565b60200101906001600160f81b031916908160001a905350611654600a86611c27565b94506115f4565b82805461166790611b73565b90600052602060002090601f01602090048101928261168957600085556116cf565b82601f106116a257805160ff19168380011785556116cf565b828001600101855582156116cf579182015b828111156116cf5782518255916020019190600101906116b4565b506116db929150611753565b5090565b8280546116eb90611b73565b90600052602060002090601f01602090048101928261170d57600085556116cf565b82601f106117265782800160ff198235161785556116cf565b828001600101855582156116cf579182015b828111156116cf578235825591602001919060010190611738565b5b808211156116db5760008155600101611754565b6001600160e01b0319811681146111c857600080fd5b60006020828403121561179057600080fd5b81356112fc81611768565b60005b838110156117b657818101518382015260200161179e565b838111156110b85750506000910152565b600081518084526117df81602086016020860161179b565b601f01601f19169290920160200192915050565b6020815260006112fc60208301846117c7565b60006020828403121561181857600080fd5b5035919050565b80356001600160a01b038116811461183657600080fd5b919050565b6000806040838503121561184e57600080fd5b6118578361181f565b946020939093013593505050565b60008060006060848603121561187a57600080fd5b6118838461181f565b92506118916020850161181f565b9150604084013590509250925092565b600080602083850312156118b457600080fd5b823567ffffffffffffffff808211156118cc57600080fd5b818501915085601f8301126118e057600080fd5b8135818111156118ef57600080fd5b8660208260051b850101111561190457600080fd5b60209290920196919550909350505050565b60006020828403121561192857600080fd5b6112fc8261181f565b6000806040838503121561194457600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561198457611984611953565b604051601f8501601f19908116603f011681019082821181831017156119ac576119ac611953565b816040528093508581528686860111156119c557600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156119f157600080fd5b813567ffffffffffffffff811115611a0857600080fd5b8201601f81018413611a1957600080fd5b61155284823560208401611969565b60008060208385031215611a3b57600080fd5b823567ffffffffffffffff80821115611a5357600080fd5b818501915085601f830112611a6757600080fd5b813581811115611a7657600080fd5b86602082850101111561190457600080fd5b60008060408385031215611a9b57600080fd5b611aa48361181f565b915060208301358015158114611ab957600080fd5b809150509250929050565b60008060008060808587031215611ada57600080fd5b611ae38561181f565b9350611af16020860161181f565b925060408501359150606085013567ffffffffffffffff811115611b1457600080fd5b8501601f81018713611b2557600080fd5b611b3487823560208401611969565b91505092959194509250565b60008060408385031215611b5357600080fd5b611b5c8361181f565b9150611b6a6020840161181f565b90509250929050565b600181811c90821680611b8757607f821691505b602082108103611ba757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611beb57611beb611bc3565b5060010190565b6000816000190483118215151615611c0c57611c0c611bc3565b500290565b634e487b7160e01b600052601260045260246000fd5b600082611c3657611c36611c11565b500490565b60008219821115611c4e57611c4e611bc3565b500190565b8054600090600181811c9080831680611c6d57607f831692505b60208084108203611c8e57634e487b7160e01b600052602260045260246000fd5b818015611ca25760018114611cb357611ce0565b60ff19861689528489019650611ce0565b60008881526020902060005b86811015611cd85781548b820152908501908301611cbf565b505084890196505b50505050505092915050565b6000611cf88286611c53565b8451611d0881836020890161179b565b611d1481830186611c53565b979650505050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611d52908301846117c7565b9695505050505050565b600060208284031215611d6e57600080fd5b81516112fc81611768565b600082821015611d8b57611d8b611bc3565b500390565b600082611d9f57611d9f611c11565b50069056fea264697066735822122044a6ddba7bb923b92afdc1e649c732bad5b6a07a1edadb801fac176eeb346cff64736f6c634300080d0033697066733a2f2f62616679626569636a6b6873733477717237326a74763769366d6f376d6c676c6d6d66637266646d6d767a7061366479726e367064626f6d736c792fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef