[ { "inputs": [ { "internalType": "string", "name": "_baseTokenURI", "type": "string" }, { "internalType": "string", "name": "_baseTokenNotRevealedURI", "type": "string" }, { "internalType": "address", "name": "_layerZeroEndpoint", "type": "address" }, { "internalType": "uint256", "name": "_startToken", "type": "uint256" }, { "internalType": "uint256", "name": "_maxSupply", "type": "uint256" } ], "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": "uint16", "name": "_srcChainId", "type": "uint16" }, { "indexed": false, "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "indexed": false, "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "indexed": false, "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "MessageFailed", "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": [], "name": "baseTokenNotRevealedURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseTokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "endpoint", "outputs": [ { "internalType": "contract ILayerZeroEndpoint", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "failedMessages", "outputs": [ { "internalType": "uint256", "name": "payloadLength", "type": "uint256" }, { "internalType": "bytes32", "name": "payloadHash", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" } ], "name": "forceResumeReceive", "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": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "lzReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "maxMintPerTx", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxPerWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "_amountMint", "type": "uint8" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nextTokenId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "onLzReceive", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "retryMessage", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "reveal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "revealed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "string", "name": "_baseTokenNotRevealedURI", "type": "string" } ], "name": "setBaseNotRevealedURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_baseTokenURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_version", "type": "uint16" }, { "internalType": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "uint256", "name": "_configType", "type": "uint256" }, { "internalType": "bytes", "name": "_config", "type": "bytes" } ], "name": "setConfig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_version", "type": "uint16" } ], "name": "setReceiveVersion", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_version", "type": "uint16" } ], "name": "setSendVersion", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "bytes", "name": "_trustedSource", "type": "bytes" } ], "name": "setTrustedSource", "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": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "uint256", "name": "omniChainNFT_tokenId", "type": "uint256" } ], "name": "traverseNFT", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "name": "trustedSourceLookup", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "unpaused", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60e0604052600260a052600360c052600e805461ffff191660011790553480156200002957600080fd5b5060405162003609380380620036098339810160408190526200004c916200038d565b604080518082018252600981526854696e794769726c7360b81b602080830191825283518085019094526002845261544760f01b908401528151919291620000979160009162000234565b508051620000ad90600190602084019062000234565b505050620000ca620000c46200011b60201b60201c565b6200011f565b620000d58562000171565b620000e084620001d9565b600780546001600160a01b039094166001600160a01b0319948516179055600d91909155608052600c805490911633179055506200047a9050565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6006546001600160a01b03163314620001c05760405162461bcd60e51b81526020600482018190526024820152600080516020620035e983398151915260448201526064015b60405180910390fd5b8051620001d590600a90602084019062000234565b5050565b6006546001600160a01b03163314620002245760405162461bcd60e51b81526020600482018190526024820152600080516020620035e98339815191526044820152606401620001b7565b8051620001d590600b9060208401905b828054620002429062000427565b90600052602060002090601f016020900481019282620002665760008555620002b1565b82601f106200028157805160ff1916838001178555620002b1565b82800160010185558215620002b1579182015b82811115620002b157825182559160200191906001019062000294565b50620002bf929150620002c3565b5090565b5b80821115620002bf5760008155600101620002c4565b600082601f830112620002eb578081fd5b81516001600160401b038082111562000308576200030862000464565b604051601f8301601f19908116603f0116810190828211818310171562000333576200033362000464565b816040528381526020925086838588010111156200034f578485fd5b8491505b8382101562000372578582018301518183018401529082019062000353565b838211156200038357848385830101525b9695505050505050565b600080600080600060a08688031215620003a5578081fd5b85516001600160401b0380821115620003bc578283fd5b620003ca89838a01620002da565b96506020880151915080821115620003e0578283fd5b50620003ef88828901620002da565b604088015190955090506001600160a01b03811681146200040e578182fd5b6060870151608090970151959894975095949392505050565b600181811c908216806200043c57607f821691505b602082108114156200045e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b60805160a05160c05161311c620004cd60003960008181610435015261112d01526000818161078401528181610ffd01526110ff015260008181610375015281816107300152611071015261311c6000f3fe6080604052600436106102505760003560e01c806375794a3c11610139578063b88d4fde116100b6578063d5abeb011161007a578063d5abeb011461071e578063d73f057e14610752578063de7fcb1d14610772578063e6f8344b146107a6578063e985e9c5146107bb578063f2fde38b1461080457600080fd5b8063b88d4fde14610696578063c87b56dd146106b6578063cbed8b9c146106d6578063d1deba1f146106f6578063d547cfb71461070957600080fd5b8063971c5932116100fd578063971c593214610619578063a22cb4651461062c578063a475b5dd1461064c578063b0b62f5a14610661578063b716c7831461067657600080fd5b806375794a3c1461054557806381c986ee1461055b5780638da5cb5b1461057b5780638ee749121461059957806395d89b411461060457600080fd5b806342842e0e116101d25780635c975abb116101965780635c975abb146104965780635e280f11146104b05780636352211e146104d05780636ecd2306146104f057806370a0823114610510578063715018a61461053057600080fd5b806342842e0e146103e357806342d65a8d14610403578063453c231014610423578063518302271461045757806355f804b31461047657600080fd5b8063095ea7b311610219578063095ea7b31461032657806310ddb1371461034657806318160ddd146103665780631c37a822146103a357806323b872dd146103c357600080fd5b80621d35671461025557806301ffc9a71461027757806306fdde03146102ac57806307e0db17146102ce578063081812fc146102ee575b600080fd5b34801561026157600080fd5b506102756102703660046129f5565b610824565b005b34801561028357600080fd5b50610297610292366004612832565b610a1e565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c1610a70565b6040516102a39190612ca8565b3480156102da57600080fd5b506102756102e93660046128af565b610b02565b3480156102fa57600080fd5b5061030e610309366004612ae0565b610b91565b6040516001600160a01b0390911681526020016102a3565b34801561033257600080fd5b50610275610341366004612807565b610c26565b34801561035257600080fd5b506102756103613660046128af565b610d3c565b34801561037257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020016102a3565b3480156103af57600080fd5b506102756103be3660046129f5565b610d9a565b3480156103cf57600080fd5b506102756103de36600461272d565b610e09565b3480156103ef57600080fd5b506102756103fe36600461272d565b610e3a565b34801561040f57600080fd5b5061027561041e3660046128c9565b610e55565b34801561042f57600080fd5b506103957f000000000000000000000000000000000000000000000000000000000000000081565b34801561046357600080fd5b50600e5461029790610100900460ff1681565b34801561048257600080fd5b5061027561049136600461286a565b610eea565b3480156104a257600080fd5b50600e546102979060ff1681565b3480156104bc57600080fd5b5060075461030e906001600160a01b031681565b3480156104dc57600080fd5b5061030e6104eb366004612ae0565b610f2b565b3480156104fc57600080fd5b5061027561050b366004612b1b565b610fa2565b34801561051c57600080fd5b5061039561052b3660046126ac565b6111ee565b34801561053c57600080fd5b50610275611275565b34801561055157600080fd5b50610395600d5481565b34801561056757600080fd5b506102c16105763660046128af565b6112a1565b34801561058757600080fd5b506006546001600160a01b031661030e565b3480156105a557600080fd5b506105ef6105b4366004612919565b600860209081526000938452604080852084518086018401805192815290840195840195909520945292905282529020805460019091015482565b604080519283526020830191909152016102a3565b34801561061057600080fd5b506102c161133b565b610275610627366004612ac5565b61134a565b34801561063857600080fd5b506102756106473660046127d6565b611598565b34801561065857600080fd5b506102756115a3565b34801561066d57600080fd5b506102756115de565b34801561068257600080fd5b5061027561069136600461286a565b611614565b3480156106a257600080fd5b506102756106b136600461276d565b611651565b3480156106c257600080fd5b506102c16106d1366004612ae0565b611683565b3480156106e257600080fd5b506102756106f1366004612a6a565b6117ff565b61027561070436600461296d565b61189a565b34801561071557600080fd5b506102c1611a27565b34801561072a57600080fd5b506103957f000000000000000000000000000000000000000000000000000000000000000081565b34801561075e57600080fd5b5061027561076d3660046128c9565b611a34565b34801561077e57600080fd5b506103957f000000000000000000000000000000000000000000000000000000000000000081565b3480156107b257600080fd5b506102c1611b11565b3480156107c757600080fd5b506102976107d63660046126f5565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561081057600080fd5b5061027561081f3660046126ac565b611b1e565b6007546001600160a01b0316331461083b57600080fd5b61ffff8416600090815260096020526040902080546108599061300f565b90508351148015610898575061ffff84166000908152600960205260409081902090516108869190612bbd565b60405180910390208380519060200120145b6109065760405162461bcd60e51b815260206004820152603460248201527f4e6f6e626c6f636b696e6752656365697665723a20696e76616c696420736f756044820152731c98d9481cd95b991a5b99c818dbdb9d1c9858dd60621b60648201526084015b60405180910390fd5b604051630e1bd41160e11b81523090631c37a8229061092f908790879087908790600401612e4d565b600060405180830381600087803b15801561094957600080fd5b505af192505050801561095a575060015b610a18576040518060400160405280825181526020018280519060200120815250600860008661ffff1661ffff168152602001908152602001600020846040516109a49190612ba1565b9081526040805191829003602090810183206001600160401b038716600090815290825291909120835181559201516001909201919091557fe6f254030bcb01ffd20558175c13fcaed6d1520be7becee4c961b65f79243b0d90610a0f908690869086908690612e4d565b60405180910390a15b50505050565b60006001600160e01b031982166380ac58cd60e01b1480610a4f57506001600160e01b03198216635b5e139f60e01b145b80610a6a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b606060008054610a7f9061300f565b80601f0160208091040260200160405190810160405280929190818152602001828054610aab9061300f565b8015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b5050505050905090565b6006546001600160a01b03163314610b2c5760405162461bcd60e51b81526004016108fd90612d0d565b6007546040516307e0db1760e01b815261ffff831660048201526001600160a01b03909116906307e0db17906024015b600060405180830381600087803b158015610b7657600080fd5b505af1158015610b8a573d6000803e3d6000fd5b5050505050565b6000818152600260205260408120546001600160a01b0316610c0a5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016108fd565b506000908152600460205260409020546001600160a01b031690565b6000610c3182610f2b565b9050806001600160a01b0316836001600160a01b03161415610c9f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016108fd565b336001600160a01b0382161480610cbb5750610cbb81336107d6565b610d2d5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016108fd565b610d378383611bb6565b505050565b6006546001600160a01b03163314610d665760405162461bcd60e51b81526004016108fd90612d0d565b6007546040516310ddb13760e01b815261ffff831660048201526001600160a01b03909116906310ddb13790602401610b5c565b333014610dfd5760405162461bcd60e51b815260206004820152602b60248201527f4e6f6e626c6f636b696e6752656365697665723a2063616c6c6572206d75737460448201526a10313290213934b233b29760a91b60648201526084016108fd565b610a1884848484611c24565b610e133382611c51565b610e2f5760405162461bcd60e51b81526004016108fd90612d42565b610d37838383611d48565b610d3783838360405180602001604052806000815250611651565b6006546001600160a01b03163314610e7f5760405162461bcd60e51b81526004016108fd90612d0d565b6007546040516342d65a8d60e01b81526001600160a01b03909116906342d65a8d90610eb390869086908690600401612de7565b600060405180830381600087803b158015610ecd57600080fd5b505af1158015610ee1573d6000803e3d6000fd5b50505050505050565b6006546001600160a01b03163314610f145760405162461bcd60e51b81526004016108fd90612d0d565b8051610f2790600a906020840190612497565b5050565b6000818152600260205260408120546001600160a01b031680610a6a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016108fd565b600e5460ff1615610fed5760405162461bcd60e51b8152602060048201526015602482015274151a5b9e4811da5c9b1cce88125cc81c185d5cd959605a1b60448201526064016108fd565b60008160ff1611801561102357507f00000000000000000000000000000000000000000000000000000000000000008160ff1611155b61106f5760405162461bcd60e51b815260206004820152601e60248201527f54696e79204769726c733a204f6e6c792032206d696e7420706572205458000060448201526064016108fd565b7f00000000000000000000000000000000000000000000000000000000000000008160ff16600d546110a19190612fa0565b11156110fd5760405162461bcd60e51b815260206004820152602560248201527f54696e79204769726c733a204d617820737570706c7920666f7220746869732060448201526431b430b4b760d91b60648201526084016108fd565b7f00000000000000000000000000000000000000000000000000000000000000008160ff161115801561115857507f0000000000000000000000000000000000000000000000000000000000000000611155336111ee565b11155b6111af5760405162461bcd60e51b815260206004820152602260248201527f54696e79204769726c733a204f6e6c79206d6178203320666f72206164647265604482015261737360f01b60648201526084016108fd565b6111cc33600d600081546111c29061304a565b9182905550611ee4565b8060ff16600214156111eb576111eb33600d600081546111c29061304a565b50565b60006001600160a01b0382166112595760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016108fd565b506001600160a01b031660009081526003602052604090205490565b6006546001600160a01b0316331461129f5760405162461bcd60e51b81526004016108fd90612d0d565b565b600960205260009081526040902080546112ba9061300f565b80601f01602080910402602001604051908101604052809291908181526020018280546112e69061300f565b80156113335780601f1061130857610100808354040283529160200191611333565b820191906000526020600020905b81548152906001019060200180831161131657829003601f168201915b505050505081565b606060018054610a7f9061300f565b61ffff8216600090815260096020526040902080546113689061300f565b151590506113cb5760405162461bcd60e51b815260206004820152602a60248201527f5468697320636861696e206973206e6f742061207472757374656420736f757260448201526931b29039b7bab931b29760b11b60648201526084016108fd565b6113d481611efe565b60408051336020820152808201839052815180820383018152606082018352600160f01b60808301526205573060828084018290528451808503909101815260a284019485905260075463040a7bb160e41b90955291936001939192916000916001600160a01b0316906340a7bb109061145a908a9030908a908790899060a601612d93565b604080518083038186803b15801561147157600080fd5b505afa158015611485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a99190612af8565b509050803410156115125760405162461bcd60e51b815260206004820152602d60248201527f4e6f7420656e6f7567682067617320746f20636f7665722063726f737320636860448201526c30b4b7103a3930b739b332b91760991b60648201526084016108fd565b60075461ffff8816600090815260096020526040808220905162c5803160e81b81526001600160a01b039093169263c580310092349261155d928d928c913391908b90600401612e96565b6000604051808303818588803b15801561157657600080fd5b505af115801561158a573d6000803e3d6000fd5b505050505050505050505050565b610f27338383611f99565b6006546001600160a01b031633146115cd5760405162461bcd60e51b81526004016108fd90612d0d565b600e805461ff001916610100179055565b6006546001600160a01b031633146116085760405162461bcd60e51b81526004016108fd90612d0d565b600e805460ff19169055565b6006546001600160a01b0316331461163e5760405162461bcd60e51b81526004016108fd90612d0d565b8051610f2790600b906020840190612497565b61165b3383611c51565b6116775760405162461bcd60e51b81526004016108fd90612d42565b610a1884848484612068565b6000818152600260205260409020546060906001600160a01b03166117025760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016108fd565b600e54610100900460ff166117a357600b805461171e9061300f565b80601f016020809104026020016040519081016040528092919081815260200182805461174a9061300f565b80156117975780601f1061176c57610100808354040283529160200191611797565b820191906000526020600020905b81548152906001019060200180831161177a57829003601f168201915b50505050509050919050565b60006117ad61209b565b905060008151116117cd57604051806020016040528060008152506117f8565b806117d7846120aa565b6040516020016117e8929190612c2c565b6040516020818303038152906040525b9392505050565b6006546001600160a01b031633146118295760405162461bcd60e51b81526004016108fd90612d0d565b6007546040516332fb62e760e21b81526001600160a01b039091169063cbed8b9c906118619088908890889088908890600401612f72565b600060405180830381600087803b15801561187b57600080fd5b505af115801561188f573d6000803e3d6000fd5b505050505050505050565b61ffff851660009081526008602052604080822090516118bb908790612ba1565b90815260408051602092819003830190206001600160401b03871660009081529252902060018101549091506119425760405162461bcd60e51b815260206004820152602660248201527f4e6f6e626c6f636b696e6752656365697665723a206e6f2073746f726564206d60448201526565737361676560d01b60648201526084016108fd565b80548214801561196c575080600101548383604051611962929190612b91565b6040518091039020145b6119b85760405162461bcd60e51b815260206004820152601a60248201527f4c617965725a65726f3a20696e76616c6964207061796c6f616400000000000060448201526064016108fd565b60008082556001820155604051630e1bd41160e11b81523090631c37a822906119ed9089908990899089908990600401612e0e565b600060405180830381600087803b158015611a0757600080fd5b505af1158015611a1b573d6000803e3d6000fd5b50505050505050505050565b600a80546112ba9061300f565b6006546001600160a01b03163314611a5e5760405162461bcd60e51b81526004016108fd90612d0d565b61ffff831660009081526009602052604090208054611a7c9061300f565b159050611af3576040805162461bcd60e51b81526020600482015260248101919091527f546865207472757374656420736f75726365206164647265737320686173206160448201527f6c7265616479206265656e2073657420666f722074686520636861696e49642160648201526084016108fd565b61ffff83166000908152600960205260409020610a1890838361251b565b600b80546112ba9061300f565b6006546001600160a01b03163314611b485760405162461bcd60e51b81526004016108fd90612d0d565b6001600160a01b038116611bad5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108fd565b6111eb816121c3565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611beb82610f2b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008082806020019051810190611c3b91906126c8565b91509150611c498282611ee4565b505050505050565b6000818152600260205260408120546001600160a01b0316611cca5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016108fd565b6000611cd583610f2b565b9050806001600160a01b0316846001600160a01b03161480611d105750836001600160a01b0316611d0584610b91565b6001600160a01b0316145b80611d4057506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316611d5b82610f2b565b6001600160a01b031614611dbf5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016108fd565b6001600160a01b038216611e215760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016108fd565b611e2c600082611bb6565b6001600160a01b0383166000908152600360205260408120805460019290611e55908490612fcc565b90915550506001600160a01b0382166000908152600360205260408120805460019290611e83908490612fa0565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610f27828260405180602001604052806000815250612215565b6000611f0982610f2b565b9050611f16600083611bb6565b6001600160a01b0381166000908152600360205260408120805460019290611f3f908490612fcc565b909155505060008281526002602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b816001600160a01b0316836001600160a01b03161415611ffb5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016108fd565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612073848484611d48565b61207f84848484612248565b610a185760405162461bcd60e51b81526004016108fd90612cbb565b6060600a8054610a7f9061300f565b6060816120ce5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156120f857806120e28161304a565b91506120f19050600a83612fb8565b91506120d2565b6000816001600160401b0381111561212057634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561214a576020820181803683370190505b5090505b8415611d405761215f600183612fcc565b915061216c600a86613065565b612177906030612fa0565b60f81b81838151811061219a57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506121bc600a86612fb8565b945061214e565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61221f8383612355565b61222c6000848484612248565b610d375760405162461bcd60e51b81526004016108fd90612cbb565b60006001600160a01b0384163b1561234a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061228c903390899088908890600401612c6b565b602060405180830381600087803b1580156122a657600080fd5b505af19250505080156122d6575060408051601f3d908101601f191682019092526122d39181019061284e565b60015b612330573d808015612304576040519150601f19603f3d011682016040523d82523d6000602084013e612309565b606091505b5080516123285760405162461bcd60e51b81526004016108fd90612cbb565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611d40565b506001949350505050565b6001600160a01b0382166123ab5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108fd565b6000818152600260205260409020546001600160a01b0316156124105760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108fd565b6001600160a01b0382166000908152600360205260408120805460019290612439908490612fa0565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8280546124a39061300f565b90600052602060002090601f0160209004810192826124c5576000855561250b565b82601f106124de57805160ff191683800117855561250b565b8280016001018555821561250b579182015b8281111561250b5782518255916020019190600101906124f0565b5061251792915061258f565b5090565b8280546125279061300f565b90600052602060002090601f016020900481019282612549576000855561250b565b82601f106125625782800160ff1982351617855561250b565b8280016001018555821561250b579182015b8281111561250b578235825591602001919060010190612574565b5b808211156125175760008155600101612590565b60006001600160401b03808411156125be576125be6130a5565b604051601f8501601f19908116603f011681019082821181831017156125e6576125e66130a5565b816040528093508581528686860111156125ff57600080fd5b858560208301376000602087830101525050509392505050565b60008083601f84011261262a578182fd5b5081356001600160401b03811115612640578182fd5b60208301915083602082850101111561265857600080fd5b9250929050565b600082601f83011261266f578081fd5b6117f8838335602085016125a4565b803561ffff8116811461269057600080fd5b919050565b80356001600160401b038116811461269057600080fd5b6000602082840312156126bd578081fd5b81356117f8816130bb565b600080604083850312156126da578081fd5b82516126e5816130bb565b6020939093015192949293505050565b60008060408385031215612707578182fd5b8235612712816130bb565b91506020830135612722816130bb565b809150509250929050565b600080600060608486031215612741578081fd5b833561274c816130bb565b9250602084013561275c816130bb565b929592945050506040919091013590565b60008060008060808587031215612782578081fd5b843561278d816130bb565b9350602085013561279d816130bb565b92506040850135915060608501356001600160401b038111156127be578182fd5b6127ca8782880161265f565b91505092959194509250565b600080604083850312156127e8578182fd5b82356127f3816130bb565b915060208301358015158114612722578182fd5b60008060408385031215612819578182fd5b8235612824816130bb565b946020939093013593505050565b600060208284031215612843578081fd5b81356117f8816130d0565b60006020828403121561285f578081fd5b81516117f8816130d0565b60006020828403121561287b578081fd5b81356001600160401b03811115612890578182fd5b8201601f810184136128a0578182fd5b611d40848235602084016125a4565b6000602082840312156128c0578081fd5b6117f88261267e565b6000806000604084860312156128dd578081fd5b6128e68461267e565b925060208401356001600160401b03811115612900578182fd5b61290c86828701612619565b9497909650939450505050565b60008060006060848603121561292d578081fd5b6129368461267e565b925060208401356001600160401b03811115612950578182fd5b61295c8682870161265f565b925050604084013590509250925092565b600080600080600060808688031215612984578283fd5b61298d8661267e565b945060208601356001600160401b03808211156129a8578485fd5b6129b489838a0161265f565b95506129c260408901612695565b945060608801359150808211156129d7578283fd5b506129e488828901612619565b969995985093965092949392505050565b60008060008060808587031215612a0a578182fd5b612a138561267e565b935060208501356001600160401b0380821115612a2e578384fd5b612a3a8883890161265f565b9450612a4860408801612695565b93506060870135915080821115612a5d578283fd5b506127ca8782880161265f565b600080600080600060808688031215612a81578283fd5b612a8a8661267e565b9450612a986020870161267e565b93506040860135925060608601356001600160401b03811115612ab9578182fd5b6129e488828901612619565b60008060408385031215612ad7578182fd5b6128248361267e565b600060208284031215612af1578081fd5b5035919050565b60008060408385031215612b0a578182fd5b505080516020909101519092909150565b600060208284031215612b2c578081fd5b813560ff811681146117f8578182fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60008151808452612b7d816020860160208601612fe3565b601f01601f19169290920160200192915050565b8183823760009101908152919050565b60008251612bb3818460208701612fe3565b9190910192915050565b6000808354612bcb8161300f565b60018281168015612be35760018114612bf457612c20565b60ff19841687528287019450612c20565b8786526020808720875b85811015612c175781548a820152908401908201612bfe565b50505082870194505b50929695505050505050565b60008351612c3e818460208801612fe3565b835190830190612c52818360208801612fe3565b64173539b7b760d91b9101908152600501949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612c9e90830184612b65565b9695505050505050565b6020815260006117f86020830184612b65565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b61ffff861681526001600160a01b038516602082015260a060408201819052600090612dc190830186612b65565b84151560608401528281036080840152612ddb8185612b65565b98975050505050505050565b61ffff84168152604060208201526000612e05604083018486612b3c565b95945050505050565b61ffff86168152608060208201526000612e2b6080830187612b65565b6001600160401b03861660408401528281036060840152612ddb818587612b3c565b61ffff85168152608060208201526000612e6a6080830186612b65565b6001600160401b03851660408401528281036060840152612e8b8185612b65565b979650505050505050565b61ffff871681526000602060c081840152818854612eb38161300f565b8060c087015260e0600180841660008114612ed55760018114612eea57612f15565b60ff1985168984015261010089019550612f15565b8d8852868820885b85811015612f0d5781548b8201860152908301908801612ef2565b8a0184019650505b50505050508381036040850152612f2c8189612b65565b915050612f4460608401876001600160a01b03169052565b6001600160a01b038516608084015282810360a0840152612f658185612b65565b9998505050505050505050565b600061ffff808816835280871660208401525084604083015260806060830152612e8b608083018486612b3c565b60008219821115612fb357612fb3613079565b500190565b600082612fc757612fc761308f565b500490565b600082821015612fde57612fde613079565b500390565b60005b83811015612ffe578181015183820152602001612fe6565b83811115610a185750506000910152565b600181811c9082168061302357607f821691505b6020821081141561304457634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561305e5761305e613079565b5060010190565b6000826130745761307461308f565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146111eb57600080fd5b6001600160e01b0319811681146111eb57600080fdfea26469706673582212203ac1a8eb62b39d260116bfe5e1f62e727af908a7b74a522efde74c976a0ee74764736f6c634300080400334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001200000000000000000000000007dcad72640f835b0fa36efd3d6d3ec902c7e5acf00000000000000000000000000000000000000000000000000000000000021340000000000000000000000000000000000000000000000000000000000002422000000000000000000000000000000000000000000000000000000000000004468747470733a2f2f697066732e696f2f697066732f516d534b7367656f69676e5a44794e6b5950354b64583263574e66465179773251707a37486446414c53665858732f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004468747470733a2f2f697066732e696f2f697066732f516d633564637a4874655941474773657631634b4248414e44446963326b38366177766e505a32316d31395938742f00000000000000000000000000000000000000000000000000000000