[ { "inputs": [ { "internalType": "string", "name": "_metadataURI", "type": "string" }, { "internalType": "string", "name": "_hiddenURI", "type": "string" }, { "internalType": "uint256[]", "name": "_queens", "type": "uint256[]" }, { "internalType": "bytes32", "name": "_ogRoot", "type": "bytes32" }, { "internalType": "bytes32", "name": "_classicRoot", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "level", "type": "uint256" } ], "name": "BeeLevelledUp", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "minter", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "hive", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "beeStatus", "type": "string" }, { "indexed": false, "internalType": "uint256", "name": "remaining", "type": "uint256" } ], "name": "BeeMinted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "enum HiveFiveBee.ContractState", "name": "state", "type": "uint8" } ], "name": "ContractStateUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "hive", "type": "uint256" } ], "name": "HiveSet", "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": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "minter", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amountMinted", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "cost", "type": "uint256" } ], "name": "PublicMinted", "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_NFT_AMOUNT", "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": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "classicHasMint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "classicRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contractURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "freeMints", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "getBee", "outputs": [ { "components": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "hive", "type": "uint256" }, { "internalType": "string", "name": "status", "type": "string" }, { "internalType": "uint128", "name": "level", "type": "uint128" }, { "internalType": "bool", "name": "canLevelUp", "type": "bool" } ], "internalType": "struct HiveFiveBee.Bee", "name": "", "type": "tuple" } ], "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": "isHidden", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "levelUp", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "lock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" } ], "name": "mintOg", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "mintedBees", "outputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "hive", "type": "uint256" }, { "internalType": "string", "name": "status", "type": "string" }, { "internalType": "uint128", "name": "level", "type": "uint128" }, { "internalType": "bool", "name": "canLevelUp", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "ogHasMint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ogRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "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": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "permitToLevelUp", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "publicMint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "refund", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "reveal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "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": "string", "name": "_uri", "type": "string" } ], "name": "setContractURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "uint96", "name": "_feeNumerator", "type": "uint96" } ], "name": "setDefaultRoyalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "setHiddenURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_hiveId", "type": "uint256" } ], "name": "setHive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_hiveId", "type": "uint256" } ], "name": "setHiveOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "setMetadataURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_state", "type": "uint256" } ], "name": "setState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "uint96", "name": "_feeNumerator", "type": "uint96" } ], "name": "setTokenRoyalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "state", "outputs": [ { "internalType": "enum HiveFiveBee.ContractState", "name": "", "type": "uint8" } ], "stateMutability": "view", "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": "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": [], "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": "address", "name": "_owner", "type": "address" } ], "name": "walletOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } ], "name": "whitelistMintClassic", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } ], "name": "whitelistMintOg", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "payable", "type": "function" } ]
60e0604052600c805460ff60a01b191690556010805461ffff1916610100179055601680546001600160a01b0319167396e1c54e985526ecfcdc070790e9c378c1b197cb1790553480156200005357600080fd5b50604051620059b8380380620059b88339810160408190526200007691620005de565b604080518082018252600c81526b48697665466976652042656560a01b60208083019182528351808501909452600384526242656560e81b908401528151919291620000c5916002916200041d565b508051620000db9060039060208401906200041d565b505050620000f8620000f26200015460201b60201c565b62000158565b6200010385620001aa565b6200010e8462000267565b60165462000128906001600160a01b03166102bc6200031c565b82516200013d906011906020860190620004ac565b5060809190915260a05250504260c0525062000729565b3390565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60105460ff1615620002035760405162461bcd60e51b815260206004820152601e60248201527f4f5045524154494f4e533a20436f6e7472616374206973206c6f636b6564000060448201526064015b60405180910390fd5b600c546001600160a01b031633146200024e5760405162461bcd60e51b81526020600482018190526024820152600080516020620059988339815191526044820152606401620001fa565b80516200026390600d9060208401906200041d565b5050565b60105460ff1615620002bc5760405162461bcd60e51b815260206004820152601e60248201527f4f5045524154494f4e533a20436f6e7472616374206973206c6f636b656400006044820152606401620001fa565b600c546001600160a01b03163314620003075760405162461bcd60e51b81526020600482018190526024820152600080516020620059988339815191526044820152606401620001fa565b80516200026390600e9060208401906200041d565b6127106001600160601b03821611156200038c5760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401620001fa565b6001600160a01b038216620003e45760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401620001fa565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600055565b8280546200042b90620006ec565b90600052602060002090601f0160209004810192826200044f57600085556200049a565b82601f106200046a57805160ff19168380011785556200049a565b828001600101855582156200049a579182015b828111156200049a5782518255916020019190600101906200047d565b50620004a8929150620004e9565b5090565b8280548282559060005260206000209081019282156200049a57916020028201828111156200049a5782518255916020019190600101906200047d565b5b80821115620004a85760008155600101620004ea565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000541576200054162000500565b604052919050565b600082601f8301126200055b57600080fd5b81516001600160401b0381111562000577576200057762000500565b60206200058d601f8301601f1916820162000516565b8281528582848701011115620005a257600080fd5b60005b83811015620005c2578581018301518282018401528201620005a5565b83811115620005d45760008385840101525b5095945050505050565b600080600080600060a08688031215620005f757600080fd5b85516001600160401b03808211156200060f57600080fd5b6200061d89838a0162000549565b96506020915081880151818111156200063557600080fd5b620006438a828b0162000549565b9650506040880151818111156200065957600080fd5b8801601f81018a136200066b57600080fd5b80518281111562000680576200068062000500565b8060051b92506200069384840162000516565b818152928201840192848101908c851115620006ae57600080fd5b928501925b84841015620006ce57835182529285019290850190620006b3565b60608c01516080909c01519a9d999c509a9998975050505050505050565b600181811c908216806200070157607f821691505b602082108114156200072357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051615231620007676000396000613a710152600081816107aa01526134f40152600081816106fa0152612bc301526152316000f3fe6080604052600436106103345760003560e01c8063750521f5116101b0578063b14fac53116100ec578063d099bb1e11610095578063ef46bca31161006f578063ef46bca31461099c578063f2fde38b146109bc578063f4745496146109dc578063f83d08ba146109ef57600080fd5b8063d099bb1e1461090e578063e8a3d4851461093e578063e985e9c51461095357600080fd5b8063be1063d9116100c6578063be1063d9146108ad578063c19d93fb146108c0578063c87b56dd146108ee57600080fd5b8063b14fac5314610840578063b88d4fde1461086d578063bbaac02f1461088d57600080fd5b80639a2c22ef11610159578063a475b5dd11610133578063a475b5dd146107cc578063a6f03d51146107e1578063a9e966b714610801578063aeca06ab1461082157600080fd5b80639a2c22ef14610751578063a22cb46514610778578063a27d42d51461079857600080fd5b8063903afdc01161018a578063903afdc0146106e8578063938e3d7b1461071c57806395d89b411461073c57600080fd5b8063750521f5146106745780638a2c9a8d146106945780638da5cb5b146106ca57600080fd5b80632f745c591161027f578063590e1ae3116102285780636352211e116102025780636352211e1461060c5780636a6278421461062c57806370a082311461063f578063715018a61461065f57600080fd5b8063590e1ae3146105d15780635944c753146105d95780635fa636c2146105f957600080fd5b8063438b630011610259578063438b6300146105535780634f6ccce71461058057806356de8c06146105a057600080fd5b80632f745c591461050b5780633ccfd60b1461052b57806342842e0e1461053357600080fd5b806318160ddd116102e157806323b872dd116102bb57806323b872dd146104995780632a55205a146104b95780632db11544146104f857600080fd5b806318160ddd1461042a5780631b84c6c2146104495780631bd9c5b01461047957600080fd5b8063081812fc11610312578063081812fc146103b2578063095ea7b3146103ea5780630ce90ec21461040a57600080fd5b806301ffc9a71461033957806304634d8d1461036e57806306fdde0314610390575b600080fd5b34801561034557600080fd5b506103596103543660046149f5565b610a04565b60405190151581526020015b60405180910390f35b34801561037a57600080fd5b5061038e610389366004614a45565b610a15565b005b34801561039c57600080fd5b506103a5610ab1565b6040516103659190614ad0565b3480156103be57600080fd5b506103d26103cd366004614ae3565b610b43565b6040516001600160a01b039091168152602001610365565b3480156103f657600080fd5b5061038e610405366004614afc565b610bd8565b34801561041657600080fd5b5061038e610425366004614ae3565b610cee565b34801561043657600080fd5b50600a545b604051908152602001610365565b34801561045557600080fd5b50610359610464366004614b26565b60146020526000908152604090205460ff1681565b34801561048557600080fd5b5061038e610494366004614b41565b610f2d565b3480156104a557600080fd5b5061038e6104b4366004614b63565b611144565b3480156104c557600080fd5b506104d96104d4366004614b41565b6111cb565b604080516001600160a01b039093168352602083019190915201610365565b61038e610506366004614ae3565b611286565b34801561051757600080fd5b5061043b610526366004614afc565b611716565b61038e6117be565b34801561053f57600080fd5b5061038e61054e366004614b63565b6118aa565b34801561055f57600080fd5b5061057361056e366004614b26565b6118c5565b6040516103659190614b9f565b34801561058c57600080fd5b5061043b61059b366004614ae3565b6119b7565b3480156105ac57600080fd5b506105c06105bb366004614ae3565b611a5b565b604051610365959493929190614be3565b61038e611b22565b3480156105e557600080fd5b5061038e6105f4366004614c24565b611db6565b61038e610607366004614b26565b611e4a565b34801561061857600080fd5b506103d2610627366004614ae3565b612084565b61038e61063a366004614b26565b61210f565b34801561064b57600080fd5b5061043b61065a366004614b26565b612242565b34801561066b57600080fd5b5061038e6122dc565b34801561068057600080fd5b5061038e61068f366004614cec565b612330565b3480156106a057600080fd5b506103d26106af366004614ae3565b6012602052600090815260409020546001600160a01b031681565b3480156106d657600080fd5b50600c546001600160a01b03166103d2565b3480156106f457600080fd5b5061043b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561072857600080fd5b5061038e610737366004614cec565b6123cc565b34801561074857600080fd5b506103a5612468565b34801561075d57600080fd5b50610766600a81565b60405160ff9091168152602001610365565b34801561078457600080fd5b5061038e610793366004614d35565b612477565b3480156107a457600080fd5b5061043b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107d857600080fd5b5061038e612482565b3480156107ed57600080fd5b5061038e6107fc366004614ae3565b612518565b34801561080d57600080fd5b5061038e61081c366004614ae3565b612629565b34801561082d57600080fd5b5060105461035990610100900460ff1681565b34801561084c57600080fd5b5061086061085b366004614ae3565b612744565b6040516103659190614d71565b34801561087957600080fd5b5061038e610888366004614dcc565b6129b6565b34801561089957600080fd5b5061038e6108a8366004614cec565b612a44565b61038e6108bb366004614e48565b612ae0565b3480156108cc57600080fd5b50600c546108e190600160a01b900460ff1681565b6040516103659190614ef5565b3480156108fa57600080fd5b506103a5610909366004614ae3565b612eef565b34801561091a57600080fd5b50610359610929366004614b26565b60156020526000908152604090205460ff1681565b34801561094a57600080fd5b506103a561307a565b34801561095f57600080fd5b5061035961096e366004614f03565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b3480156109a857600080fd5b5061038e6109b7366004614b41565b613089565b3480156109c857600080fd5b5061038e6109d7366004614b26565b613344565b61038e6109ea366004614e48565b613411565b3480156109fb57600080fd5b5061038e613736565b6000610a0f826137ce565b92915050565b600c546001600160a01b03163314610a625760405162461bcd60e51b815260206004820181905260248201526000805160206151dc83398151915260448201526064015b60405180910390fd5b60105460ff1615610aa35760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b610aad82826137d9565b5050565b606060028054610ac090614f2d565b80601f0160208091040260200160405190810160405280929190818152602001828054610aec90614f2d565b8015610b395780601f10610b0e57610100808354040283529160200191610b39565b820191906000526020600020905b815481529060010190602001808311610b1c57829003601f168201915b5050505050905090565b6000818152600460205260408120546001600160a01b0316610bbc5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610a59565b506000908152600660205260409020546001600160a01b031690565b6000610be382612084565b9050806001600160a01b0316836001600160a01b03161415610c515760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610a59565b336001600160a01b0382161480610c6d5750610c6d813361096e565b610cdf5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610a59565b610ce983836138e0565b505050565b60105460ff1615610d2f5760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b6000818152600460205260409020546001600160a01b0316610d935760405162461bcd60e51b815260206004820152601b60248201527f4f5045524154494f4e533a206e6f6e6578697374656e742062656500000000006044820152606401610a59565b33610d9d82612084565b6001600160a01b031614610df35760405162461bcd60e51b815260206004820152601e60248201527f4f5045524154494f4e533a204f776e657273686970206d69736d6174636800006044820152606401610a59565b600081815260136020526040902060030154600160801b900460ff16610e815760405162461bcd60e51b815260206004820152602860248201527f4f5045524154494f4e533a20596f752063616e6e6f74206c6576656c2075702060448201527f74686973206265650000000000000000000000000000000000000000000000006064820152608401610a59565b600081815260136020526040812060030180546001600160801b031691610ea783614f7e565b82546101009290920a6001600160801b03818102199093169183160217909155600083815260136020908152604091829020600301805460ff60801b1981169091558251428152918201869052909216908201527ff9d6559bba58268533d74b40af89a194c14a7ca813dd1463d9559b9b8bb75f1f91506060015b60405180910390a150565b60105460ff1615610f6e5760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600c546001600160a01b03163314610fb65760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b6000828152600460205260409020546001600160a01b031661101a5760405162461bcd60e51b815260206004820152601b60248201527f4f5045524154494f4e533a204e6f6e6578697374656e742062656500000000006044820152606401610a59565b6000818152600460205260409020546001600160a01b031661107e5760405162461bcd60e51b815260206004820152601d60248201527f4f5045524154494f4e533a204e6f6e6578697374656e7420717565656e0000006044820152606401610a59565b8061108882612744565b60200151146110ea5760405162461bcd60e51b815260206004820152602860248201527f4f5045524154494f4e533a20476976656e205f686976654964206973206e6f7460448201526710309038bab2b2b760c11b6064820152608401610a59565b60008281526013602090815260409182902060010183905581514281529081018490529081018290527ff0e9fda48d77b7cf204e0fdb857e59de9b8eef99e8f7575aec6135658bb5af3e9060600160405180910390a15050565b61114e338261394e565b6111c05760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f7665640000000000000000000000000000006064820152608401610a59565b610ce9838383613a45565b60008281526001602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046bffffffffffffffffffffffff1692820192909252829161124a5750604080518082019091526000546001600160a01b0381168252600160a01b90046bffffffffffffffffffffffff1660208201525b60208101516000906127109061126e906bffffffffffffffffffffffff1687614fa5565b6112789190614fda565b915196919550909350505050565b60105460ff16156112c75760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b6003600c54600160a01b900460ff1660068111156112e7576112e7614ebd565b10156113545760405162461bcd60e51b815260206004820152603660248201527f4f5045524154494f4e533a204661696c656420746f20706572666f726d2066756044820152756e6374696f6e20696e2061637475616c20737461746560501b6064820152608401610a59565b6000811180156113655750600a8111155b6113e15760405162461bcd60e51b815260206004820152604160248201527f4f5045524154494f4e533a20416d6f756e74206f66204e46542073686f756c6460448201527f2067726561746572207468616e203020616e64206c6f776572207468616e20316064820152600360fc1b608482015260a401610a59565b346113eb82613b3a565b11156114395760405162461bcd60e51b815260206004820152601e60248201527f4f5045524154494f4e533a20696e73756666696369656e742066756e647300006044820152606401610a59565b6000611444600a5490565b90506118386114538383614fee565b11156114a15760405162461bcd60e51b815260206004820152601e60248201527f4f5045524154494f4e533a204d617820737570706c79207265616368656400006044820152606401610a59565b60006114ac336118c5565b336000908152601460205260408120549192509060ff16806114dd57503360009081526015602052604090205460ff165b6114e857600a6114fc565b6114f133612242565b6114fc90600a614fee565b90508082518561150c9190614fee565b11156115805760405162461bcd60e51b815260206004820152602d60248201527f4f5045524154494f4e533a2043616e6e6f74207075726368617365206d6f726560448201527f207468616e2031302042656573000000000000000000000000000000000000006064820152608401610a59565b60015b8481116116b6578361159481615006565b9450506115a13385613b75565b60006115cb856040518060400160405280600681526020016531b7b6b6b7b760d11b815250613b8f565b6000868152601360209081526040918290208351815581840151600182015591830151805193945084936116059260028501920190614946565b506060820151600390910180546080909301511515600160801b0270ffffffffffffffffffffffffffffffffff199093166001600160801b03909216919091179190911790558051602082015160408301517fc8bd055d65b01d520033546f59aae9beaa2924ad4d18ef1a43ac05b8dd83a95c92429233926116898b611838615021565b60405161169b96959493929190615038565b60405180910390a150806116ae81615006565b915050611583565b507fd4995c065b5c13733da34d765dcef43ca8f3b84810de21ae19341c92e9ab93794233866116e488613b3a565b604080519485526001600160a01b0390931660208501529183015260608201526080015b60405180910390a150505050565b600061172183612242565b82106117955760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e64730000000000000000000000000000000000000000006064820152608401610a59565b506001600160a01b03919091166000908152600860209081526040808320938352929052205490565b60105460ff16156117ff5760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600c546001600160a01b031633146118475760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b6016546040516000916001600160a01b03169047908381818185875af1925050503d8060008114611894576040519150601f19603f3d011682016040523d82523d6000602084013e611899565b606091505b50509050806118a757600080fd5b50565b610ce9838383604051806020016040528060008152506129b6565b60105460609060ff16156119095760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600061191483612242565b905060008167ffffffffffffffff81111561193157611931614c60565b60405190808252806020026020018201604052801561195a578160200160208202803683370190505b50905060005b828161ffff1610156119ad5761197a858261ffff16611716565b828261ffff16815181106119905761199061507f565b6020908102919091010152806119a581615095565b915050611960565b509150505b919050565b60006119c2600a5490565b8210611a365760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201527f7574206f6620626f756e647300000000000000000000000000000000000000006064820152608401610a59565b600a8281548110611a4957611a4961507f565b90600052602060002001549050919050565b60136020526000908152604090208054600182015460028301805492939192611a8390614f2d565b80601f0160208091040260200160405190810160405280929190818152602001828054611aaf90614f2d565b8015611afc5780601f10611ad157610100808354040283529160200191611afc565b820191906000526020600020905b815481529060010190602001808311611adf57829003601f168201915b505050600390930154919250506001600160801b0381169060ff600160801b9091041685565b60105460ff1615611b635760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600c546001600160a01b03163314611bab5760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b60015b600a5481116118a7576000601360008381526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282018054611bfb90614f2d565b80601f0160208091040260200160405190810160405280929190818152602001828054611c2790614f2d565b8015611c745780601f10611c4957610100808354040283529160200191611c74565b820191906000526020600020905b815481529060010190602001808311611c5757829003601f168201915b5050509183525050600391909101546001600160801b038116602080840191909152600160801b90910460ff1615156040928301528151808301835260028152616f6760f01b908201529082015180519101209091506000907ffbbf3b5d1ff494ccacb863d4a6f982b703b7a11ac50f9c6577d3c87bf1337eb514611d0157671a5e27eef13e0000611d0b565b6717979cfe362a00005b9050611d1683612084565b6000848152601260205260409020546001600160a01b03908116911614611da1576000611d4284612084565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114611d8c576040519150601f19603f3d011682016040523d82523d6000602084013e611d91565b606091505b5050905080611d9f57600080fd5b505b50508080611dae90615006565b915050611bae565b600c546001600160a01b03163314611dfe5760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b60105460ff1615611e3f5760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b610ce9838383613c90565b60105460ff1615611e8b5760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600c546001600160a01b03163314611ed35760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b6000611ede600a5490565b9050611838611eee826001614fee565b1115611f3c5760405162461bcd60e51b815260206004820152601e60248201527f4f5045524154494f4e533a204d617820737570706c79207265616368656400006044820152606401610a59565b80611f4681615006565b915050611f538282613b75565b6000611f7982604051806040016040528060028152602001616f6760f01b815250613b8f565b600083815260136020908152604091829020835181558184015160018201559183015180519394508493611fb39260028501920190614946565b506060820151600390910180546080909301511515600160801b0270ffffffffffffffffffffffffffffffffff199093166001600160801b039092169190911791909117905560008281526012602090815260409182902080546001600160a01b0387166001600160a01b0319909116179055825190830151918301517fc8bd055d65b01d520033546f59aae9beaa2924ad4d18ef1a43ac05b8dd83a95c924292879290919061206588611838615021565b60405161207796959493929190615038565b60405180910390a1505050565b6000818152600460205260408120546001600160a01b031680610a0f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201527f656e7420746f6b656e00000000000000000000000000000000000000000000006064820152608401610a59565b60105460ff16156121505760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600c546001600160a01b031633146121985760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b60006121a3600a5490565b90506118386121b3826001614fee565b11156122015760405162461bcd60e51b815260206004820152601e60248201527f4f5045524154494f4e533a204d617820737570706c79207265616368656400006044820152606401610a59565b8061220b81615006565b9150506122188282613b75565b6000611f79826040518060400160405280600681526020016531b7b6b6b7b760d11b815250613b8f565b60006001600160a01b0382166122c05760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610a59565b506001600160a01b031660009081526005602052604090205490565b600c546001600160a01b031633146123245760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b61232e6000613da8565b565b60105460ff16156123715760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600c546001600160a01b031633146123b95760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b8051610aad90600d906020840190614946565b60105460ff161561240d5760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600c546001600160a01b031633146124555760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b8051610aad90600f906020840190614946565b606060038054610ac090614f2d565b610aad338383613dfa565b60105460ff16156124c35760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600c546001600160a01b0316331461250b5760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b6010805461ff0019169055565b600c546001600160a01b031633146125605760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b60105460ff16156125a15760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b6000818152600460205260409020546001600160a01b03166126055760405162461bcd60e51b815260206004820152601b60248201527f4f5045524154494f4e533a206e6f6e6578697374656e742062656500000000006044820152606401610a59565b6000908152601360205260409020600301805460ff60801b1916600160801b179055565b600c546001600160a01b031633146126715760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b60105460ff16156126b25760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b8060068111156126c4576126c4614ebd565b600c80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b83600681111561270157612701614ebd565b0217905550600c546040517f0408bf52f9d36e3244fcd438c91720b70946d13990f0a0e3093ca0b6e75af55091610f22914291600160a01b900460ff16906150ad565b6127816040518060a0016040528060008152602001600081526020016060815260200160006001600160801b031681526020016000151581525090565b60105460ff16156127c25760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600c546001600160a01b03163314612861576004600c54600160a01b900460ff1660068111156127f4576127f4614ebd565b10156128615760405162461bcd60e51b815260206004820152603660248201527f4f5045524154494f4e533a204661696c656420746f20706572666f726d2066756044820152756e6374696f6e20696e2061637475616c20737461746560501b6064820152608401610a59565b6000828152600460205260409020546001600160a01b03166128c55760405162461bcd60e51b815260206004820152601b60248201527f4f5045524154494f4e533a206e6f6e6578697374656e742062656500000000006044820152606401610a59565b601360008381526020019081526020016000206040518060a0016040529081600082015481526020016001820154815260200160028201805461290790614f2d565b80601f016020809104026020016040519081016040528092919081815260200182805461293390614f2d565b80156129805780601f1061295557610100808354040283529160200191612980565b820191906000526020600020905b81548152906001019060200180831161296357829003601f168201915b5050509183525050600391909101546001600160801b0381166020830152600160801b900460ff16151560409091015292915050565b6129c0338361394e565b612a325760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f7665640000000000000000000000000000006064820152608401610a59565b612a3e84848484613ec9565b50505050565b60105460ff1615612a855760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600c546001600160a01b03163314612acd5760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b8051610aad90600e906020840190614946565b60105460ff1615612b215760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600180600c54600160a01b900460ff166006811115612b4257612b42614ebd565b14612bae5760405162461bcd60e51b815260206004820152603660248201527f4f5045524154494f4e533a204661696c656420746f20706572666f726d2066756044820152756e6374696f6e20696e2061637475616c20737461746560501b6064820152608401610a59565b6000612bb9600a5490565b9050612be73385857f0000000000000000000000000000000000000000000000000000000000000000613f47565b612c595760405162461bcd60e51b815260206004820152602e60248201527f4f5045524154494f4e533a2053656e6465722061646472657373206e6f74206960448201527f6e204f472077686974656c6973740000000000000000000000000000000000006064820152608401610a59565b3360009081526014602052604090205460ff1615612cdf5760405162461bcd60e51b815260206004820152603660248201527f4f5045524154494f4e533a204f472057686974656c69737420616c726561647960448201527f207573656420666f7220746869732061646472657373000000000000000000006064820152608401610a59565b6717979cfe362a0000341015612d375760405162461bcd60e51b815260206004820152601e60248201527f4f5045524154494f4e533a20496e73756666696369656e742066756e647300006044820152606401610a59565b6101c2612d45826001614fee565b1115612db95760405162461bcd60e51b815260206004820152602760248201527f4f5045524154494f4e533a204f472057686974656c69737420737570706c792060448201527f72656163686564000000000000000000000000000000000000000000000000006064820152608401610a59565b336000908152601460205260409020805460ff1916600117905580612ddd81615006565b915050612dea3382613b75565b6000612e1082604051806040016040528060028152602001616f6760f01b815250613b8f565b600083815260136020908152604091829020835181558184015160018201559183015180519394508493612e4a9260028501920190614946565b506060820151600390910180546080909301511515600160801b0270ffffffffffffffffffffffffffffffffff199093166001600160801b03909216919091179190911790558051602082015160408301517fc8bd055d65b01d520033546f59aae9beaa2924ad4d18ef1a43ac05b8dd83a95c9242923392612ece88611838615021565b604051612ee096959493929190615038565b60405180910390a15050505050565b6000818152600460205260409020546060906001600160a01b0316612f7c5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201527f6e6578697374656e7420746f6b656e00000000000000000000000000000000006064820152608401610a59565b601054610100900460ff161561301e57600e8054612f9990614f2d565b80601f0160208091040260200160405190810160405280929190818152602001828054612fc590614f2d565b80156130125780601f10612fe757610100808354040283529160200191613012565b820191906000526020600020905b815481529060010190602001808311612ff557829003601f168201915b50505050509050919050565b6000613028613fc5565b905060008151116130485760405180602001604052806000815250613073565b8061305284613fd4565b6040516020016130639291906150c1565b6040516020818303038152906040525b9392505050565b6060600f8054610ac090614f2d565b60105460ff16156130ca5760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600580600c54600160a01b900460ff1660068111156130eb576130eb614ebd565b146131575760405162461bcd60e51b815260206004820152603660248201527f4f5045524154494f4e533a204661696c656420746f20706572666f726d2066756044820152756e6374696f6e20696e2061637475616c20737461746560501b6064820152608401610a59565b600061316284612084565b6000858152600460205260409020549091506001600160a01b03166131c95760405162461bcd60e51b815260206004820152601b60248201527f4f5045524154494f4e533a206e6f6e6578697374656e742062656500000000006044820152606401610a59565b6000838152600460205260409020546001600160a01b031661322d5760405162461bcd60e51b815260206004820152601d60248201527f4f5045524154494f4e533a206e6f6e6578697374656e7420717565656e0000006044820152606401610a59565b8261323784612744565b60200151146132995760405162461bcd60e51b815260206004820152602860248201527f4f5045524154494f4e533a20476976656e205f686976654964206973206e6f7460448201526710309038bab2b2b760c11b6064820152608401610a59565b6001600160a01b03811633146132f15760405162461bcd60e51b815260206004820152601e60248201527f4f5045524154494f4e533a204f776e657273686970206d69736d6174636800006044820152606401610a59565b60008481526013602090815260409182902060010185905581514281529081018690529081018490527ff0e9fda48d77b7cf204e0fdb857e59de9b8eef99e8f7575aec6135658bb5af3e90606001611708565b600c546001600160a01b0316331461338c5760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b6001600160a01b0381166134085760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a59565b6118a781613da8565b60105460ff16156134525760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600180600c54600160a01b900460ff16600681111561347357613473614ebd565b146134df5760405162461bcd60e51b815260206004820152603660248201527f4f5045524154494f4e533a204661696c656420746f20706572666f726d2066756044820152756e6374696f6e20696e2061637475616c20737461746560501b6064820152608401610a59565b60006134ea600a5490565b90506135183385857f0000000000000000000000000000000000000000000000000000000000000000613f47565b61358a5760405162461bcd60e51b815260206004820152603360248201527f4f5045524154494f4e533a2053656e6465722061646472657373206e6f74206960448201527f6e20436c61737369632077686974656c697374000000000000000000000000006064820152608401610a59565b3360009081526015602052604090205460ff16156136105760405162461bcd60e51b815260206004820152603b60248201527f4f5045524154494f4e533a20436c61737369632057686974656c69737420616c60448201527f7265616479207573656420666f722074686973206164647265737300000000006064820152608401610a59565b671a5e27eef13e00003410156136685760405162461bcd60e51b815260206004820152601e60248201527f4f5045524154494f4e533a20496e73756666696369656e742066756e647300006044820152606401610a59565b611838613676826001614fee565b11156136c45760405162461bcd60e51b815260206004820152601e60248201527f4f5045524154494f4e533a204d617820737570706c79207265616368656400006044820152606401610a59565b336000908152601560205260409020805460ff19166001179055806136e881615006565b9150506136f53382613b75565b6000612e10826040518060400160405280600781526020017f636c617373696300000000000000000000000000000000000000000000000000815250613b8f565b60105460ff16156137775760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b600c546001600160a01b031633146137bf5760405162461bcd60e51b815260206004820181905260248201526000805160206151dc8339815191526044820152606401610a59565b6010805460ff19166001179055565b6000610a0f826140ea565b6127106bffffffffffffffffffffffff8216111561384c5760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401610a59565b6001600160a01b0382166138a25760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610a59565b604080518082019091526001600160a01b039092168083526bffffffffffffffffffffffff9091166020909201829052600160a01b90910217600055565b600081815260066020526040902080546001600160a01b0319166001600160a01b038416908117909155819061391582612084565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600460205260408120546001600160a01b03166139c75760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610a59565b60006139d283612084565b9050806001600160a01b0316846001600160a01b03161480613a1957506001600160a01b0380821660009081526007602090815260408083209388168352929052205460ff165b80613a3d5750836001600160a01b0316613a3284610b43565b6001600160a01b0316145b949350505050565b6000818152601260205260409020546001600160a01b0384811691161415613b2f5742613a95621275007f0000000000000000000000000000000000000000000000000000000000000000614fee565b1115613b2f5760405162461bcd60e51b815260206004820152604e60248201527f4f5045524154494f4e533a20596f752063616e6e6f74207472616e736665722060448201527f796f75722066726565206d696e7420756e74696c2074686520656e64206f662060648201527f76657374696e6720706572696f64000000000000000000000000000000000000608482015260a401610a59565b610ce983838361410f565b6000671a5e27eef13e000060048310613b5857506719ac8532c27900005b60088310613b6b57506718493fba64ef00005b6130738382614fa5565b610aad8282604051806020016040528060008152506142ce565b613bcc6040518060a0016040528060008152602001600081526020016060815260200160006001600160801b031681526020016000151581525090565b60105460ff1615613c0d5760405162461bcd60e51b815260206004820152601e60248201526000805160206151bc8339815191526044820152606401610a59565b6040805160a0810182528481526000602082018190529181018490526001606082015260808101829052905b60115460ff82161015613c88578460118260ff1681548110613c5d57613c5d61507f565b90600052602060002001541415613c7657602082018590525b80613c8081615118565b915050613c39565b509392505050565b6127106bffffffffffffffffffffffff82161115613d035760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401610a59565b6001600160a01b038216613d595760405162461bcd60e51b815260206004820152601b60248201527f455243323938313a20496e76616c696420706172616d657465727300000000006044820152606401610a59565b6040805180820182526001600160a01b0393841681526bffffffffffffffffffffffff92831660208083019182526000968752600190529190942093519051909116600160a01b029116179055565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03161415613e5c5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610a59565b6001600160a01b03838116600081815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b613ed4848484613a45565b613ee08484848461434c565b612a3e5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608401610a59565b6000613fbc848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040516bffffffffffffffffffffffff1960608b901b1660208201528692506034019050604051602081830303815290604052805190602001206144a1565b95945050505050565b6060600d8054610ac090614f2d565b606081613ff85750506040805180820190915260018152600360fc1b602082015290565b8160005b8115614022578061400c81615006565b915061401b9050600a83614fda565b9150613ffc565b60008167ffffffffffffffff81111561403d5761403d614c60565b6040519080825280601f01601f191660200182016040528015614067576020820181803683370190505b5090505b8415613a3d5761407c600183615021565b9150614089600a86615138565b614094906030614fee565b60f81b8183815181106140a9576140a961507f565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506140e3600a86614fda565b945061406b565b60006001600160e01b0319821663780e9d6360e01b1480610a0f5750610a0f826144ae565b826001600160a01b031661412282612084565b6001600160a01b03161461419e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610a59565b6001600160a01b0382166142005760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610a59565b61420b8383836144ee565b6142166000826138e0565b6001600160a01b038316600090815260056020526040812080546001929061423f908490615021565b90915550506001600160a01b038216600090815260056020526040812080546001929061426d908490614fee565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6142d883836144f9565b6142e5600084848461434c565b610ce95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608401610a59565b60006001600160a01b0384163b1561449957604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061439090339089908890889060040161514c565b602060405180830381600087803b1580156143aa57600080fd5b505af19250505080156143da575060408051601f3d908101601f191682019092526143d791810190615188565b60015b61447f573d808015614408576040519150601f19603f3d011682016040523d82523d6000602084013e61440d565b606091505b5080516144775760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608401610a59565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050613a3d565b506001613a3d565b6000613a3d848484614647565b60006001600160e01b031982166380ac58cd60e01b14806144df57506001600160e01b03198216635b5e139f60e01b145b80610a0f5750610a0f8261465d565b610ce9838383614692565b6001600160a01b03821661454f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610a59565b6000818152600460205260409020546001600160a01b0316156145b45760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a59565b6145c0600083836144ee565b6001600160a01b03821660009081526005602052604081208054600192906145e9908490614fee565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600082614654858461474a565b14949350505050565b60006001600160e01b0319821663152a902d60e11b1480610a0f57506301ffc9a760e01b6001600160e01b0319831614610a0f565b6001600160a01b0383166146ed576146e881600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b614710565b816001600160a01b0316836001600160a01b0316146147105761471083826147b6565b6001600160a01b03821661472757610ce981614853565b826001600160a01b0316826001600160a01b031614610ce957610ce98282614902565b600081815b8451811015613c8857600085828151811061476c5761476c61507f565b6020026020010151905080831161479257600083815260208290526040902092506147a3565b600081815260208490526040902092505b50806147ae81615006565b91505061474f565b600060016147c384612242565b6147cd9190615021565b600083815260096020526040902054909150808214614820576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a5460009061486590600190615021565b6000838152600b6020526040812054600a805493945090928490811061488d5761488d61507f565b9060005260206000200154905080600a83815481106148ae576148ae61507f565b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a8054806148e6576148e66151a5565b6001900381819060005260206000200160009055905550505050565b600061490d83612242565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b82805461495290614f2d565b90600052602060002090601f01602090048101928261497457600085556149ba565b82601f1061498d57805160ff19168380011785556149ba565b828001600101855582156149ba579182015b828111156149ba57825182559160200191906001019061499f565b506149c69291506149ca565b5090565b5b808211156149c657600081556001016149cb565b6001600160e01b0319811681146118a757600080fd5b600060208284031215614a0757600080fd5b8135613073816149df565b80356001600160a01b03811681146119b257600080fd5b80356bffffffffffffffffffffffff811681146119b257600080fd5b60008060408385031215614a5857600080fd5b614a6183614a12565b9150614a6f60208401614a29565b90509250929050565b60005b83811015614a93578181015183820152602001614a7b565b83811115612a3e5750506000910152565b60008151808452614abc816020860160208601614a78565b601f01601f19169290920160200192915050565b6020815260006130736020830184614aa4565b600060208284031215614af557600080fd5b5035919050565b60008060408385031215614b0f57600080fd5b614b1883614a12565b946020939093013593505050565b600060208284031215614b3857600080fd5b61307382614a12565b60008060408385031215614b5457600080fd5b50508035926020909101359150565b600080600060608486031215614b7857600080fd5b614b8184614a12565b9250614b8f60208501614a12565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b81811015614bd757835183529284019291840191600101614bbb565b50909695505050505050565b85815284602082015260a060408201526000614c0260a0830186614aa4565b6001600160801b03949094166060830152509015156080909101529392505050565b600080600060608486031215614c3957600080fd5b83359250614c4960208501614a12565b9150614c5760408501614a29565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115614c9157614c91614c60565b604051601f8501601f19908116603f01168101908282118183101715614cb957614cb9614c60565b81604052809350858152868686011115614cd257600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215614cfe57600080fd5b813567ffffffffffffffff811115614d1557600080fd5b8201601f81018413614d2657600080fd5b613a3d84823560208401614c76565b60008060408385031215614d4857600080fd5b614d5183614a12565b915060208301358015158114614d6657600080fd5b809150509250929050565b6020815281516020820152602082015160408201526000604083015160a06060840152614da160c0840182614aa4565b90506001600160801b0360608501511660808401526080840151151560a08401528091505092915050565b60008060008060808587031215614de257600080fd5b614deb85614a12565b9350614df960208601614a12565b925060408501359150606085013567ffffffffffffffff811115614e1c57600080fd5b8501601f81018713614e2d57600080fd5b614e3c87823560208401614c76565b91505092959194509250565b60008060208385031215614e5b57600080fd5b823567ffffffffffffffff80821115614e7357600080fd5b818501915085601f830112614e8757600080fd5b813581811115614e9657600080fd5b8660208260051b8501011115614eab57600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052602160045260246000fd5b60078110614ef157634e487b7160e01b600052602160045260246000fd5b9052565b60208101610a0f8284614ed3565b60008060408385031215614f1657600080fd5b614f1f83614a12565b9150614a6f60208401614a12565b600181811c90821680614f4157607f821691505b60208210811415614f6257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60006001600160801b0380831681811415614f9b57614f9b614f68565b6001019392505050565b6000816000190483118215151615614fbf57614fbf614f68565b500290565b634e487b7160e01b600052601260045260246000fd5b600082614fe957614fe9614fc4565b500490565b6000821982111561500157615001614f68565b500190565b600060001982141561501a5761501a614f68565b5060010190565b60008282101561503357615033614f68565b500390565b8681526001600160a01b038616602082015284604082015283606082015260c06080820152600061506c60c0830185614aa4565b90508260a0830152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b600061ffff80831681811415614f9b57614f9b614f68565b828152604081016130736020830184614ed3565b600083516150d3818460208801614a78565b8351908301906150e7818360208801614a78565b7f2e6a736f6e0000000000000000000000000000000000000000000000000000009101908152600501949350505050565b600060ff821660ff81141561512f5761512f614f68565b60010192915050565b60008261514757615147614fc4565b500690565b60006001600160a01b0380871683528086166020840152508360408301526080606083015261517e6080830184614aa4565b9695505050505050565b60006020828403121561519a57600080fd5b8151613073816149df565b634e487b7160e01b600052603160045260246000fdfe4f5045524154494f4e533a20436f6e7472616374206973206c6f636b656400004f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220500a1567b0355e98b12888fe9ffa27a7a6367c99174d89f67e6497187da1d6de64736f6c634300080900334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657200000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a045a36bcf6fa459667e319e735287ce3712a27a12154c94b945d9f3ab9ee109d67796e31715d471c8354cf91d1a3f62d81dbf45afd587953ef250927d00349f7e000000000000000000000000000000000000000000000000000000000000005168747470733a2f2f6d657461646174612e68697665666976652e627a2f697066732f516d556245313433455258317156454355536f76477931434a566d4a324135643739535a7858347a64426f76447a2f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005068747470733a2f2f6d657461646174612e68697665666976652e627a2f697066732f516d59697237453472315845436e6a4767625935397535745237677965786733456d664775387156763853436f7500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c7000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000002610000000000000000000000000000000000000000000000000000000000000330000000000000000000000000000000000000000000000000000000000000040100000000000000000000000000000000000000000000000000000000000004d400000000000000000000000000000000000000000000000000000000000005780000000000000000000000000000000000000000000000000000000000000648000000000000000000000000000000000000000000000000000000000000071a00000000000000000000000000000000000000000000000000000000000007ee00000000000000000000000000000000000000000000000000000000000008c4000000000000000000000000000000000000000000000000000000000000099c0000000000000000000000000000000000000000000000000000000000000a760000000000000000000000000000000000000000000000000000000000000bc70000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000d7b0000000000000000000000000000000000000000000000000000000000000e580000000000000000000000000000000000000000000000000000000000000f370000000000000000000000000000000000000000000000000000000000001018000000000000000000000000000000000000000000000000000000000000107000000000000000000000000000000000000000000000000000000000000011460000000000000000000000000000000000000000000000000000000000001226000000000000000000000000000000000000000000000000000000000000130800000000000000000000000000000000000000000000000000000000000013de00000000000000000000000000000000000000000000000000000000000014d200000000000000000000000000000000000000000000000000000000000015ba00000000000000000000000000000000000000000000000000000000000015e000000000000000000000000000000000000000000000000000000000000016c500000000000000000000000000000000000000000000000000000000000017ac