[ { "inputs": [ { "internalType": "string", "name": "baseURI", "type": "string" }, { "internalType": "address", "name": "withdrawAddr_", "type": "address" }, { "internalType": "address", "name": "signer_", "type": "address" } ], "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": 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": "owner", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "TokenMinted", "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": [], "name": "_price", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_specialPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_linkedNFTCollection", "type": "address" } ], "name": "addLinkedNFTCollection", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_addressesToWhitelist", "type": "address[]" } ], "name": "addUserToWhitelist", "outputs": [], "stateMutability": "nonpayable", "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": "baseExt", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseTokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "getLinkedNFTCollections", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "wallet", "type": "address" } ], "name": "getWalletPrice", "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": "isSaleActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "linkedNFTCollections", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_blockNumber", "type": "uint256" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "mintCurrentBlock", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "mintedBlock", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "ownsLinkedNft", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_linkedNFTCollection", "type": "address" } ], "name": "removeLinkedNFTCollection", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "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": "string", "name": "_baseTokenURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "royaltyAmount_", "type": "uint256" } ], "name": "setRoyaltyAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "withdrawAddr_", "type": "address" } ], "name": "setwithdrawAddr", "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": [], "name": "toggleSale", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "_owner", "type": "address" } ], "name": "tokensOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "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": "uint256", "name": "maxSupply_", "type": "uint256" } ], "name": "updateMaxSupply", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "price_", "type": "uint256" } ], "name": "updateSalePrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newSigner", "type": "address" } ], "name": "updateSigner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "specialPrice_", "type": "uint256" } ], "name": "updateSpecialPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_whitelistedAddress", "type": "address" } ], "name": "verifyWhitelistUser", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdrawMintFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
670429d069189e0000600c556702c68af0bb140000600d556103e8600e5560c06040526005608090815264173539b7b760d91b60a052601190620000449082620002ab565b506101f46012553480156200005857600080fd5b5060405162003599380380620035998339810160408190526200007b9162000394565b60405180604001604052806009815260200168109b1bd8dad21d5b9d60ba1b81525060405180604001604052806002815260200161084960f31b8152508160009081620000c99190620002ab565b506001620000d88282620002ab565b505050620000f5620000ef6200013360201b60201c565b62000137565b620001008362000189565b601380546001600160a01b039384166001600160a01b031991821617909155600f8054929093169116179055506200048e565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b62000193620001a5565b6010620001a18282620002ab565b5050565b600a546001600160a01b03163314620002045760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200023157607f821691505b6020821081036200025257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002a657600081815260208120601f850160051c81016020861015620002815750805b601f850160051c820191505b81811015620002a2578281556001016200028d565b5050505b505050565b81516001600160401b03811115620002c757620002c762000206565b620002df81620002d884546200021c565b8462000258565b602080601f831160018114620003175760008415620002fe5750858301515b600019600386901b1c1916600185901b178555620002a2565b600085815260208120601f198616915b82811015620003485788860151825594840194600190910190840162000327565b5085821015620003675787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80516001600160a01b03811681146200038f57600080fd5b919050565b600080600060608486031215620003aa57600080fd5b83516001600160401b0380821115620003c257600080fd5b818601915086601f830112620003d757600080fd5b815181811115620003ec57620003ec62000206565b604051601f8201601f19908116603f0116810190838211818310171562000417576200041762000206565b816040528281526020935089848487010111156200043457600080fd5b600091505b8282101562000458578482018401518183018501529083019062000439565b60008484830101528097505050506200047381870162000377565b93505050620004856040850162000377565b90509250925092565b6130fb806200049e6000396000f3fe60806040526004361061027d5760003560e01c8063564566a81161014f5780638da5cb5b116100c1578063b88d4fde1161007a578063b88d4fde146107ac578063c87b56dd146107cc578063d547cfb7146107ec578063e985e9c514610801578063f103b4331461084a578063f2fde38b1461086a57600080fd5b80638da5cb5b14610704578063905d7b331461072257806395d89b4114610737578063a22cb4651461074c578063a7ecd37e1461076c578063ad0401721461078c57600080fd5b8063715018a611610113578063715018a614610657578063756d645f1461066c578063767d9de11461068c5780637d8966e4146106a25780637ec0912e146106b75780638462151c146106d757600080fd5b8063564566a8146105c35780635b415d4e146105e45780636352211e1461060457806365bf63c71461062457806370a082311461063757600080fd5b80632bc22074116101f357806342842e0e116101ac57806342842e0e146104ea5780634f07de091461050a5780634f4f0f6e1461052a5780634f6ccce71461054a578063516fc47e1461056a57806355f804b3146105a357600080fd5b80632bc22074146104325780632d387df2146104545780632f745c591461047457806332cb6b0c1461049457806339e46711146104aa5780634006fd2d146104ca57600080fd5b80630d1f5176116102455780630d1f51761461034857806318160ddd14610368578063235b6ea11461038757806323b872dd1461039d57806328a89ed5146103bd5780632a55205a146103f357600080fd5b806301ffc9a71461028257806306fdde03146102b7578063077fc040146102d9578063081812fc146102ee578063095ea7b314610326575b600080fd5b34801561028e57600080fd5b506102a261029d36600461282d565b61088a565b60405190151581526020015b60405180910390f35b3480156102c357600080fd5b506102cc6108b5565b6040516102ae919061289a565b3480156102e557600080fd5b506102cc610947565b3480156102fa57600080fd5b5061030e6103093660046128ad565b6109d5565b6040516001600160a01b0390911681526020016102ae565b34801561033257600080fd5b506103466103413660046128e2565b6109fc565b005b34801561035457600080fd5b506102a261036336600461290c565b610b16565b34801561037457600080fd5b506008545b6040519081526020016102ae565b34801561039357600080fd5b50610379600c5481565b3480156103a957600080fd5b506103466103b8366004612927565b610be3565b3480156103c957600080fd5b5061030e6103d83660046128ad565b6015602052600090815260409020546001600160a01b031681565b3480156103ff57600080fd5b5061041361040e366004612963565b610c14565b604080516001600160a01b0390931683526020830191909152016102ae565b34801561043e57600080fd5b50610447610c7d565b6040516102ae9190612985565b34801561046057600080fd5b5061034661046f3660046128ad565b610cde565b34801561048057600080fd5b5061037961048f3660046128e2565b610ceb565b3480156104a057600080fd5b50610379600e5481565b3480156104b657600080fd5b5061030e6104c53660046128ad565b610d81565b3480156104d657600080fd5b506103466104e536600461290c565b610dab565b3480156104f657600080fd5b50610346610505366004612927565b610e5b565b34801561051657600080fd5b506103466105253660046128ad565b610e76565b34801561053657600080fd5b5061034661054536600461290c565b610e83565b34801561055657600080fd5b506103796105653660046128ad565b610f96565b34801561057657600080fd5b506102a261058536600461290c565b6001600160a01b031660009081526016602052604090205460ff1690565b3480156105af57600080fd5b506103466105be366004612a5e565b611029565b3480156105cf57600080fd5b506013546102a290600160a01b900460ff1681565b3480156105f057600080fd5b506103466105ff36600461290c565b61103d565b34801561061057600080fd5b5061030e61061f3660046128ad565b611067565b610346610632366004612ac7565b6110c7565b34801561064357600080fd5b5061037961065236600461290c565b611456565b34801561066357600080fd5b506103466114dc565b34801561067857600080fd5b50610346610687366004612b0e565b6114f0565b34801561069857600080fd5b50610379600d5481565b3480156106ae57600080fd5b5061034661156a565b3480156106c357600080fd5b506103466106d23660046128ad565b611593565b3480156106e357600080fd5b506106f76106f236600461290c565b6115a0565b6040516102ae9190612b83565b34801561071057600080fd5b50600a546001600160a01b031661030e565b34801561072e57600080fd5b50610346611642565b34801561074357600080fd5b506102cc6116ca565b34801561075857600080fd5b50610346610767366004612bbb565b6116d9565b34801561077857600080fd5b5061034661078736600461290c565b6116e4565b34801561079857600080fd5b506103796107a736600461290c565b611772565b3480156107b857600080fd5b506103466107c7366004612bf7565b6117bb565b3480156107d857600080fd5b506102cc6107e73660046128ad565b6117f3565b3480156107f857600080fd5b506102cc6118d0565b34801561080d57600080fd5b506102a261081c366004612c5f565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561085657600080fd5b506103466108653660046128ad565b6118dd565b34801561087657600080fd5b5061034661088536600461290c565b6118ea565b600063152a902d60e11b6001600160e01b0319831614806108af57506108af82611963565b92915050565b6060600080546108c490612c92565b80601f01602080910402602001604051908101604052809291908181526020018280546108f090612c92565b801561093d5780601f106109125761010080835404028352916020019161093d565b820191906000526020600020905b81548152906001019060200180831161092057829003601f168201915b5050505050905090565b6011805461095490612c92565b80601f016020809104026020016040519081016040528092919081815260200182805461098090612c92565b80156109cd5780601f106109a2576101008083540402835291602001916109cd565b820191906000526020600020905b8154815290600101906020018083116109b057829003601f168201915b505050505081565b60006109e082611988565b506000908152600460205260409020546001600160a01b031690565b6000610a0782611067565b9050806001600160a01b0316836001600160a01b031603610a795760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610a955750610a95813361081c565b610b075760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610a70565b610b1183836119e7565b505050565b6000805b601454811015610bda57600060148281548110610b3957610b39612ccc565b60009182526020822001546040516370a0823160e01b81526001600160a01b038781166004830152909116925082906370a0823190602401602060405180830381865afa158015610b8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb29190612ce2565b90508015610bc557506001949350505050565b50508080610bd290612d11565b915050610b1a565b50600092915050565b610bed3382611a55565b610c095760405162461bcd60e51b8152600401610a7090612d2a565b610b11838383611ad4565b6000806000610c21611c45565b90506000610c2e60085490565b610c389083612d8d565b610c43906001612da1565b90506000610c5082611067565b90508061271060125488610c649190612db4565b610c6e9190612dd3565b945094505050505b9250929050565b6060601480548060200260200160405190810160405280929190818152602001828054801561093d57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610cb7575050505050905090565b610ce6611c89565b600d55565b6000610cf683611456565b8210610d585760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610a70565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b60148181548110610d9157600080fd5b6000918252602090912001546001600160a01b0316905081565b610db3611c89565b6001600160a01b038116610e095760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420636f6c6c656374696f6e20616464726573730000000000006044820152606401610a70565b601480546001810182556000919091527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0180546001600160a01b0319166001600160a01b0392909216919091179055565b610b11838383604051806020016040528060008152506117bb565b610e7e611c89565b601255565b610e8b611c89565b60005b601454811015610f9257816001600160a01b031660148281548110610eb557610eb5612ccc565b6000918252602090912001546001600160a01b031603610f805760148054610edf90600190612de7565b81548110610eef57610eef612ccc565b600091825260209091200154601480546001600160a01b039092169183908110610f1b57610f1b612ccc565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506014805480610f5a57610f5a612dfa565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610f8a81612d11565b915050610e8e565b5050565b6000610fa160085490565b82106110045760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610a70565b6008828154811061101757611017612ccc565b90600052602060002001549050919050565b611031611c89565b6010610f928282612e5e565b611045611c89565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600260205260408120546001600160a01b0316806108af5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610a70565b601354600160a01b900460ff166111205760405162461bcd60e51b815260206004820152601c60248201527f5468652073616c652069732063757272656e746c7920706175736564000000006044820152606401610a70565b6000828152601560205260409020546001600160a01b0316156111905760405162461bcd60e51b815260206004820152602260248201527f5468697320626c6f636b2068617320616c7265616479206265656e206d696e74604482015261195960f21b6064820152608401610a70565b61119933611772565b3410156111e85760405162461bcd60e51b815260206004820152601860248201527f4e6f7420656e6f756768204156415820666f72206d696e7400000000000000006044820152606401610a70565b600e54600b54111561123c5760405162461bcd60e51b815260206004820152601860248201527f436f6c6c656374696f6e2068617320736f6c64206f75742100000000000000006044820152606401610a70565b6040516bffffffffffffffffffffffff193360601b1660208201526034810183905260009060540160405160208183030381529060405280519060200120905060006112bf836112b9847f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b90611ce3565b600f549091506001600160a01b0380831691161461131f5760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726520766572696669636174696f6e206661696c65642e00006044820152606401610a70565b61132d600b80546001019055565b6000611338600b5490565b600086815260156020526040902080546001600160a01b031916339081179091559091506113669082611cff565b604051819033907fb9144c96c86541f6fa89c9f2f02495cccf4b08cd6643e26d34ee00aa586558a890600090a33360009081526016602052604090205460ff16156113c357336000908152601660205260409020805460ff191690555b60006113cd611c45565b905060006113da60085490565b6113e49083612d8d565b6113ef906001612da1565b905060006113fc82611067565b90506001600160a01b0381166108fc6103e8611419346064612db4565b6114239190612dd3565b6040518115909202916000818181858888f1935050505015801561144b573d6000803e3d6000fd5b505050505050505050565b60006001600160a01b0382166114c05760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610a70565b506001600160a01b031660009081526003602052604090205490565b6114e4611c89565b6114ee6000611d19565b565b6114f8611c89565b60005b81811015610b115760016016600085858581811061151b5761151b612ccc565b9050602002016020810190611530919061290c565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061156281612d11565b9150506114fb565b611572611c89565b6013805460ff60a01b198116600160a01b9182900460ff1615909102179055565b61159b611c89565b600c55565b606060006115ad83611456565b905060008167ffffffffffffffff8111156115ca576115ca6129d2565b6040519080825280602002602001820160405280156115f3578160200160208202803683370190505b50905060005b8281101561163a5761160b8582610ceb565b82828151811061161d5761161d612ccc565b60209081029190910101528061163281612d11565b9150506115f9565b509392505050565b61164a611c89565b47806116905760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b6044820152606401610a70565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610f92573d6000803e3d6000fd5b6060600180546108c490612c92565b610f92338383611d6b565b6116ec611c89565b6001600160a01b0381166117505760405162461bcd60e51b815260206004820152602560248201527f5369676e657220616464726573732063616e6e6f74206265207a65726f206164604482015264647265737360d81b6064820152608401610a70565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b60008061177e83610b16565b806117a157506001600160a01b03831660009081526016602052604090205460ff165b9050806117b057600c546117b4565b600d545b9392505050565b6117c53383611a55565b6117e15760405162461bcd60e51b8152600401610a7090612d2a565b6117ed84848484611e39565b50505050565b6000818152600260205260409020546060906001600160a01b03166118725760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610a70565b600061187c611e6c565b9050600081511161189c57604051806020016040528060008152506117b4565b806118a684611e7b565b60116040516020016118ba93929190612f1e565b6040516020818303038152906040529392505050565b6010805461095490612c92565b6118e5611c89565b600e55565b6118f2611c89565b6001600160a01b0381166119575760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a70565b61196081611d19565b50565b60006001600160e01b0319821663780e9d6360e01b14806108af57506108af82611f0e565b6000818152600260205260409020546001600160a01b03166119605760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610a70565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611a1c82611067565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611a6183611067565b9050806001600160a01b0316846001600160a01b03161480611aa857506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80611acc5750836001600160a01b0316611ac1846109d5565b6001600160a01b0316145b949350505050565b826001600160a01b0316611ae782611067565b6001600160a01b031614611b0d5760405162461bcd60e51b8152600401610a7090612fbe565b6001600160a01b038216611b6f5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610a70565b611b7c8383836001611f5e565b826001600160a01b0316611b8f82611067565b6001600160a01b031614611bb55760405162461bcd60e51b8152600401610a7090612fbe565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611c50600b5490565b6040805160208101929092524290820152434060608201526080016040516020818303038152906040528051906020012060001c905090565b600a546001600160a01b031633146114ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a70565b6000806000611cf28585612092565b9150915061163a816120d4565b610f9282826040518060200160405280600081525061221e565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603611dcc5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610a70565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611e44848484611ad4565b611e5084848484612251565b6117ed5760405162461bcd60e51b8152600401610a7090613003565b6060601080546108c490612c92565b60606000611e8883612352565b600101905060008167ffffffffffffffff811115611ea857611ea86129d2565b6040519080825280601f01601f191660200182016040528015611ed2576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611edc57509392505050565b60006001600160e01b031982166380ac58cd60e01b1480611f3f57506001600160e01b03198216635b5e139f60e01b145b806108af57506301ffc9a760e01b6001600160e01b03198316146108af565b6001811115611fcd5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610a70565b816001600160a01b0385166120295761202481600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b61204c565b836001600160a01b0316856001600160a01b03161461204c5761204c858261242a565b6001600160a01b03841661206857612063816124c7565b61208b565b846001600160a01b0316846001600160a01b03161461208b5761208b8482612576565b5050505050565b60008082516041036120c85760208301516040840151606085015160001a6120bc878285856125ba565b94509450505050610c76565b50600090506002610c76565b60008160048111156120e8576120e8613055565b036120f05750565b600181600481111561210457612104613055565b036121515760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610a70565b600281600481111561216557612165613055565b036121b25760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610a70565b60038160048111156121c6576121c6613055565b036119605760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610a70565b612228838361267e565b6122356000848484612251565b610b115760405162461bcd60e51b8152600401610a7090613003565b60006001600160a01b0384163b1561234757604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061229590339089908890889060040161306b565b6020604051808303816000875af19250505080156122d0575060408051601f3d908101601f191682019092526122cd918101906130a8565b60015b61232d573d8080156122fe576040519150601f19603f3d011682016040523d82523d6000602084013e612303565b606091505b5080516000036123255760405162461bcd60e51b8152600401610a7090613003565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611acc565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106123915772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106123bd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106123db57662386f26fc10000830492506010015b6305f5e10083106123f3576305f5e100830492506008015b612710831061240757612710830492506004015b60648310612419576064830492506002015b600a83106108af5760010192915050565b6000600161243784611456565b6124419190612de7565b600083815260076020526040902054909150808214612494576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008546000906124d990600190612de7565b6000838152600960205260408120546008805493945090928490811061250157612501612ccc565b90600052602060002001549050806008838154811061252257612522612ccc565b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061255a5761255a612dfa565b6001900381819060005260206000200160009055905550505050565b600061258183611456565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156125f15750600090506003612675565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612645573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661266e57600060019250925050612675565b9150600090505b94509492505050565b6001600160a01b0382166126d45760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610a70565b6000818152600260205260409020546001600160a01b0316156127395760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a70565b612747600083836001611f5e565b6000818152600260205260409020546001600160a01b0316156127ac5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a70565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b03198116811461196057600080fd5b60006020828403121561283f57600080fd5b81356117b481612817565b60005b8381101561286557818101518382015260200161284d565b50506000910152565b6000815180845261288681602086016020860161284a565b601f01601f19169290920160200192915050565b6020815260006117b4602083018461286e565b6000602082840312156128bf57600080fd5b5035919050565b80356001600160a01b03811681146128dd57600080fd5b919050565b600080604083850312156128f557600080fd5b6128fe836128c6565b946020939093013593505050565b60006020828403121561291e57600080fd5b6117b4826128c6565b60008060006060848603121561293c57600080fd5b612945846128c6565b9250612953602085016128c6565b9150604084013590509250925092565b6000806040838503121561297657600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b818110156129c65783516001600160a01b0316835292840192918401916001016129a1565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612a0357612a036129d2565b604051601f8501601f19908116603f01168101908282118183101715612a2b57612a2b6129d2565b81604052809350858152868686011115612a4457600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215612a7057600080fd5b813567ffffffffffffffff811115612a8757600080fd5b8201601f81018413612a9857600080fd5b611acc848235602084016129e8565b600082601f830112612ab857600080fd5b6117b4838335602085016129e8565b60008060408385031215612ada57600080fd5b82359150602083013567ffffffffffffffff811115612af857600080fd5b612b0485828601612aa7565b9150509250929050565b60008060208385031215612b2157600080fd5b823567ffffffffffffffff80821115612b3957600080fd5b818501915085601f830112612b4d57600080fd5b813581811115612b5c57600080fd5b8660208260051b8501011115612b7157600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156129c657835183529284019291840191600101612b9f565b60008060408385031215612bce57600080fd5b612bd7836128c6565b915060208301358015158114612bec57600080fd5b809150509250929050565b60008060008060808587031215612c0d57600080fd5b612c16856128c6565b9350612c24602086016128c6565b925060408501359150606085013567ffffffffffffffff811115612c4757600080fd5b612c5387828801612aa7565b91505092959194509250565b60008060408385031215612c7257600080fd5b612c7b836128c6565b9150612c89602084016128c6565b90509250929050565b600181811c90821680612ca657607f821691505b602082108103612cc657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612cf457600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600060018201612d2357612d23612cfb565b5060010190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082612d9c57612d9c612d77565b500690565b808201808211156108af576108af612cfb565b6000816000190483118215151615612dce57612dce612cfb565b500290565b600082612de257612de2612d77565b500490565b818103818111156108af576108af612cfb565b634e487b7160e01b600052603160045260246000fd5b601f821115610b1157600081815260208120601f850160051c81016020861015612e375750805b601f850160051c820191505b81811015612e5657828155600101612e43565b505050505050565b815167ffffffffffffffff811115612e7857612e786129d2565b612e8c81612e868454612c92565b84612e10565b602080601f831160018114612ec15760008415612ea95750858301515b600019600386901b1c1916600185901b178555612e56565b600085815260208120601f198616915b82811015612ef057888601518255948401946001909101908401612ed1565b5085821015612f0e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600084516020612f318285838a0161284a565b855191840191612f448184848a0161284a565b8554920191600090612f5581612c92565b60018281168015612f6d5760018114612f8257612fae565b60ff1984168752821515830287019450612fae565b896000528560002060005b84811015612fa657815489820152908301908701612f8d565b505082870194505b50929a9950505050505050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061309e9083018461286e565b9695505050505050565b6000602082840312156130ba57600080fd5b81516117b48161281756fea2646970667358221220548494d8d11ba1cc3184829616fc377f73ba8dbb18923ed2d9f1910212d3063a64736f6c634300081000330000000000000000000000000000000000000000000000000000000000000060000000000000000000000000ab7ea68d78cc493a1d4e39a62e8201c46a889a700000000000000000000000004adfb2678277ebf2a9d450d81460f1bc33151e47000000000000000000000000000000000000000000000000000000000000003e68747470733a2f2f6a616e6b796d6574612e6a616e6b7973747564696f732e78797a2f6170692f6e66742f626c6f636b68756e742f6d657461646174612f0000