9 txs
687 calls
constructor
constructor(address _owner, uint256 _maxEquipment)
functions
addressCoolDownEquipments
viewfunction addressCoolDownEquipments(address, uint256, uint256) view returns (uint256)
addressLockedAssets
viewfunction addressLockedAssets(address, uint256) view returns (uint256)
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
BURNER_ROLE
viewfunction BURNER_ROLE() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
equipmentCooldownExpires
viewfunction equipmentCooldownExpires(address _address, uint256 _equipmentId) view returns (uint256[])
getAddressCoolDownEquipments
viewfunction getAddressCoolDownEquipments(address _address, uint256 _id) view returns (uint256[])
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
LOCK_COOLDOWN_ROLE
viewfunction LOCK_COOLDOWN_ROLE() view returns (bytes32)
maxEquipment
viewfunction maxEquipment() view returns (uint256)
mintedCount
viewfunction mintedCount(uint256) view returns (uint256)
MINTER_ROLE
viewfunction MINTER_ROLE() view returns (bytes32)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
totalSupply
viewfunction totalSupply(uint256) view returns (uint256)
uri
viewfunction uri(uint256 tokenId) view returns (string)
weaponCoolDownFactor
viewfunction weaponCoolDownFactor(uint256) view returns (uint256)
burn
nonpayablefunction burn(uint256 _id, uint256 _count)
burnFrom
nonpayablefunction burnFrom(address _account, uint256 _id, uint256 _count)
coolDownEquipment
nonpayablefunction coolDownEquipment(address userAddress, uint256 equipmentId, uint256 expiry)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
lock
nonpayablefunction lock(address _owner, uint256 _id, uint256 _amount)
mint
nonpayablefunction mint(address _address, uint256 _id, uint256 _count)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string baseURI)
setCoolDownFactor
nonpayablefunction setCoolDownFactor(uint256 _id, uint256 _factor)
setCoolDownFactorInBatch
nonpayablefunction setCoolDownFactorInBatch(uint256[] _ids, uint256[] _factors)
setMaxEquipment
nonpayablefunction setMaxEquipment(uint256 _maxEquipment)
setURI
nonpayablefunction setURI(uint256 _id, string tokenURI)
transferOwnership
nonpayablefunction transferOwnership(address _newOwner)
unlock
nonpayablefunction unlock(address _owner, uint256 _id, uint256 _amount)
updateCooldownExpiries
nonpayablefunction updateCooldownExpiries(address _user, uint256 _id, uint256[] expiries)
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
Locked
event Locked(address indexed owner, uint256 indexed id, uint256 amount)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
TransferSingle
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
Unlocked
event Unlocked(address indexed owner, uint256 indexed id, uint256 amount)
URI
event URI(string value, uint256 indexed id)
errors
InvalidEquipment
error InvalidEquipment()
LockedBalanceTransfer
error LockedBalanceTransfer()
creation bytecode
0x60a0604052600060809081526003906200001a908262000271565b503480156200002857600080fd5b50604051620031a0380380620031a08339810160408190526200004b916200038e565b604080516020810190915260008152620000658162000098565b50600b80546001600160a01b0319166001600160a01b0384161790556200008e600083620000aa565b600c5550620003d1565b6002620000a6828262000271565b5050565b620000a68282620000bc82826200013a565b620000a65760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620000f63390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff165b92915050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602260045260246000fd5b600281046001821680620001a857607f821691505b602082108103620001bd57620001bd6200017d565b50919050565b600062000161620001d18381565b90565b620001df83620001c3565b815460001960089490940293841b1916921b91909117905550565b600062000209818484620001d4565b505050565b81811015620000a65762000224600082620001fa565b6001016200020e565b601f82111562000209576000818152602090206020601f85010481016020851015620002565750805b6200026a6020601f8601048301826200020e565b5050505050565b81516001600160401b038111156200028d576200028d62000167565b62000299825462000193565b620002a68282856200022d565b6020601f831160018114620002dd5760008415620002c45750858201515b600019600886021c198116600286021786555062000339565b600085815260208120601f198616915b828110156200030f5788850151825560209485019460019092019101620002ed565b868310156200032c5784890151600019601f89166008021c191682555b6001600288020188555050505b505050505050565b60006001600160a01b03821662000161565b6200035e8162000341565b81146200036a57600080fd5b50565b8051620001618162000353565b806200035e565b805162000161816200037a565b60008060408385031215620003a657620003a6600080fd5b6000620003b485856200036d565b9250506020620003c78582860162000381565b9150509250929050565b612dbf80620003e16000396000f3fe608060405234801561001057600080fd5b50600436106102525760003560e01c806375b238fc11610146578063ce84f2da116100c3578063e985e9c511610087578063e985e9c5146105b6578063f0b3f9b9146105f2578063f0b7737914610605578063f242432a14610618578063f2fde38b1461062b578063f9d0262a1461063e57600080fd5b8063ce84f2da1461031b578063d539139314610556578063d547741f1461057d578063e2926dc014610590578063e2ab691d146105a357600080fd5b8063a22cb4651161010a578063a22cb465146104dd578063a6c7e4b6146104f0578063b390c0ab14610510578063b5674c6814610523578063bd85b0391461053657600080fd5b806375b238fc1461047a578063862440e21461048f5780638da5cb5b146104a257806391d14854146104c2578063a217fddf146104d557600080fd5b80632eb2c2d6116101d45780634e1273f4116101985780634e1273f41461040c57806350c4c4511461041f57806355f804b3146104325780635e354332146104455780636aa2be601461046557600080fd5b80632eb2c2d6146103ad5780632f2ff15d146103c057806336568abe146103d35780633b3d0548146103e657806342fabc50146103f957600080fd5b8063123b92f71161021b578063123b92f71461031b578063124d91e51461033b578063156e29f614610350578063248a9ca314610363578063282c51f31461038657600080fd5b8062fdd58e1461025757806301ffc9a7146102805780630428a8cc146102a057806306fdde03146102cb5780630e89341c14610308575b600080fd5b61026a610265366004611c2a565b610647565b6040516102779190611c6f565b60405180910390f35b61029361028e366004611c98565b6106a1565b6040516102779190611cc9565b61026a6102ae366004611c2a565b600a60209081526000928352604080842090915290825290205481565b6102fb6040518060400160405280601181526020017011d85b99d5d85c88115c5d5a5c1b595b9d607a1b81525081565b6040516102779190611d2d565b6102fb610316366004611d3e565b6106ac565b61032e610329366004611c2a565b61078c565b6040516102779190611dbc565b61034e610349366004611dcd565b610801565b005b61034e61035e366004611dcd565b61083c565b61026a610371366004611d3e565b60009081526005602052604090206001015490565b61026a7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b61034e6103bb366004611fb0565b6108ef565b61034e6103ce366004612076565b61093b565b61034e6103e1366004612076565b610965565b61034e6103f43660046120a9565b61099b565b61026a610407366004611dcd565b610a1d565b61032e61041a366004612184565b610a5b565b61034e61042d3660046121bf565b610b42565b61034e61044036600461221f565b610b8b565b61026a610453366004611d3e565b60076020526000908152604090205481565b61026a600080516020612d4a83398151915281565b61026a600080516020612d6a83398151915281565b61034e61049d366004612259565b610bac565b600b546104b5906001600160a01b031681565b60405161027791906122af565b6102936104d0366004612076565b610bce565b61026a600081565b61034e6104eb3660046122d0565b610bf9565b61026a6104fe366004611d3e565b60086020526000908152604090205481565b61034e61051e366004612303565b610c04565b61034e610531366004611dcd565b610c0f565b61026a610544366004611d3e565b60066020526000908152604090205481565b61026a7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61034e61058b366004612076565b610ca9565b61034e61059e366004612303565b610cce565b61034e6105b1366004611dcd565b610cf9565b6102936105c4366004612325565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b61034e610600366004611dcd565b610d44565b61034e610613366004611d3e565b610d94565b61034e610626366004612347565b610db2565b61034e6106393660046123a1565b610df7565b61026a600c5481565b60006001600160a01b0383166106785760405162461bcd60e51b815260040161066f9061240c565b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b600061069b82610e25565b6000818152600460205260408120805460609291906106ca90612432565b80601f01602080910402602001604051908101604052809291908181526020018280546106f690612432565b80156107435780601f1061071857610100808354040283529160200191610743565b820191906000526020600020905b81548152906001019060200180831161072657829003601f168201915b5050505050905060008151116107615761075c83610e4a565b610785565b6003816040516020016107759291906124f2565b6040516020818303038152906040525b9392505050565b6001600160a01b03821660009081526009602090815260408083208484528252918290208054835181840281018401909452808452606093928301828280156107f457602002820191906000526020600020905b8154815260200190600101908083116107e0575b5050505050905092915050565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84861082b81610ede565b610836848484610eeb565b50505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661086681610ede565b600c5483111561088857604051628bee8b60e21b815260040160405180910390fd5b6108a384848460405180602001604052806000815250610f1e565b600083815260066020526040812080548492906108c1908490612520565b9091555050600083815260076020526040812080548492906108e4908490612520565b909155505050505050565b6001600160a01b03851633148061090b575061090b85336105c4565b6109275760405162461bcd60e51b815260040161066f9061257e565b6109348585858585611015565b5050505050565b60008281526005602052604090206001015461095681610ede565b61096083836111bf565b505050565b6001600160a01b038116331461098d5760405162461bcd60e51b815260040161066f906125da565b6109978282611245565b5050565b600080516020612d6a8339815191526109b381610ede565b825160005b81811015610934578381815181106109d2576109d26125ea565b6020026020010151600860008784815181106109f0576109f06125ea565b60200260200101518152602001908152602001600020819055508080610a1590612600565b9150506109b8565b60096020528260005260406000206020528160005260406000208181548110610a4557600080fd5b9060005260206000200160009250925050505481565b60608151835114610a7e5760405162461bcd60e51b815260040161066f90612660565b600083516001600160401b03811115610a9957610a99611e1d565b604051908082528060200260200182016040528015610ac2578160200160208202803683370190505b50905060005b8451811015610b3a57610b0d858281518110610ae657610ae66125ea565b6020026020010151858381518110610b0057610b006125ea565b6020026020010151610647565b828281518110610b1f57610b1f6125ea565b6020908102919091010152610b3381612600565b9050610ac8565b509392505050565b600080516020612d4a833981519152610b5a81610ede565b6001600160a01b03841660009081526009602090815260408083208684528252909120835161093492850190611b89565b600080516020612d6a833981519152610ba381610ede565b610997826112ac565b600080516020612d6a833981519152610bc481610ede565b61096083836112b8565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b610997338383611315565b610997338383610eeb565b600080516020612d4a833981519152610c2781610ede565b6001600160a01b0384166000908152600a6020908152604080832086845290915281208054849290610c5a908490612670565b9250508190555082846001600160a01b03167fd4665e3049283582ba6f9eba07a5b3e12dab49e02da99e8927a47af5d134bea584604051610c9b9190611c6f565b60405180910390a350505050565b600082815260056020526040902060010154610cc481610ede565b6109608383611245565b600080516020612d6a833981519152610ce681610ede565b5060009182526008602052604090912055565b600080516020612d4a833981519152610d1181610ede565b6001600160a01b0384166000908152600a6020908152604080832086845290915281208054849290610c5a908490612520565b600080516020612d4a833981519152610d5c81610ede565b506001600160a01b03909216600090815260096020908152604080832093835292815291812080546001810182559082529190200155565b600080516020612d6a833981519152610dac81610ede565b50600c55565b6001600160a01b038516331480610dce5750610dce85336105c4565b610dea5760405162461bcd60e51b815260040161066f9061257e565b61093485858585856113b7565b6000610e0281610ede565b50600b80546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216637965db0b60e01b148061069b575061069b826114fb565b606060028054610e5990612432565b80601f0160208091040260200160405190810160405280929190818152602001828054610e8590612432565b8015610ed25780601f10610ea757610100808354040283529160200191610ed2565b820191906000526020600020905b815481529060010190602001808311610eb557829003601f168201915b50505050509050919050565b610ee8813361154b565b50565b610ef68383836115a4565b60008281526006602052604081208054839290610f14908490612670565b9091555050505050565b6001600160a01b038416610f445760405162461bcd60e51b815260040161066f906126c1565b336000610f50856116bf565b90506000610f5d856116bf565b9050610f6e8360008985858961170a565b6000868152602081815260408083206001600160a01b038b16845290915281208054879290610f9e908490612520565b92505081905550866001600160a01b031660006001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051610ff59291906126d1565b60405180910390a461100c83600089898989611843565b50505050505050565b81518351146110365760405162461bcd60e51b815260040161066f90612731565b6001600160a01b03841661105c5760405162461bcd60e51b815260040161066f90612783565b3361106b81878787878761170a565b60005b845181101561115157600085828151811061108b5761108b6125ea565b6020026020010151905060008583815181106110a9576110a96125ea565b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156110f95760405162461bcd60e51b815260040161066f906127da565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611136908490612520565b925050819055505050508061114a90612600565b905061106e565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516111a19291906127ea565b60405180910390a46111b7818787878787611951565b505050505050565b6111c98282610bce565b6109975760008281526005602090815260408083206001600160a01b03851684529091529020805460ff191660011790556112013390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61124f8282610bce565b156109975760008281526005602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600361099782826128a3565b60008281526004602052604090206112d082826128a3565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b6112fc846106ac565b6040516113099190611d2d565b60405180910390a25050565b816001600160a01b0316836001600160a01b0316036113465760405162461bcd60e51b815260040161066f906129ab565b6001600160a01b0383811660008181526001602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31906113aa908590611cc9565b60405180910390a3505050565b6001600160a01b0384166113dd5760405162461bcd60e51b815260040161066f90612783565b3360006113e9856116bf565b905060006113f6856116bf565b905061140683898985858961170a565b6000868152602081815260408083206001600160a01b038c168452909152902054858110156114475760405162461bcd60e51b815260040161066f906127da565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290611484908490612520565b92505081905550876001600160a01b0316896001600160a01b0316856001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a6040516114da9291906126d1565b60405180910390a46114f0848a8a8a8a8a611843565b505050505050505050565b60006001600160e01b03198216636cdb3d1360e11b148061152c57506001600160e01b031982166303a24d0760e21b145b8061069b57506301ffc9a760e01b6001600160e01b031983161461069b565b6115558282610bce565b6109975761156281611a0c565b61156d836020611a1e565b60405160200161157e9291906129bb565b60408051601f198184030181529082905262461bcd60e51b825261066f91600401611d2d565b6001600160a01b0383166115ca5760405162461bcd60e51b815260040161066f90612a4f565b3360006115d6846116bf565b905060006115e3846116bf565b90506116038387600085856040518060200160405280600081525061170a565b6000858152602081815260408083206001600160a01b038a168452909152902054848110156116445760405162461bcd60e51b815260040161066f90612aa0565b6000868152602081815260408083206001600160a01b03808c16808652919093528184208986039055905190918716907fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62906116a3908b908b906126d1565b60405180910390a460408051602081019091526000905261100c565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106116f9576116f96125ea565b602090810291909101015292915050565b6001600160a01b038516156111b75760005b835181101561100c576001600160a01b0386166000908152600a6020526040812085518290879085908110611753576117536125ea565b60200260200101518152602001908152602001600020549050600060096000896001600160a01b03166001600160a01b0316815260200190815260200160002060008785815181106117a7576117a76125ea565b6020026020010151815260200190815260200160002080549050905060006117db89888681518110610b0057610b006125ea565b90508584815181106117ef576117ef6125ea565b602002602001015182846118039190612520565b61180d9190612520565b81101561182d576040516326f049f560e11b815260040160405180910390fd5b505050808061183b90612600565b91505061171c565b6001600160a01b0384163b156111b75760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906118879089908990889088908890600401612ab0565b6020604051808303816000875af19250505080156118c2575060408051601f3d908101601f191682019092526118bf91810190612b0d565b60015b611921576118ce612b2e565b806308c379a00361190757506118e2612b49565b806118ed5750611909565b8060405162461bcd60e51b815260040161066f9190611d2d565b505b60405162461bcd60e51b815260040161066f90612c1f565b6001600160e01b0319811663f23a6e6160e01b1461100c5760405162461bcd60e51b815260040161066f90612c74565b6001600160a01b0384163b156111b75760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906119959089908990889088908890600401612c84565b6020604051808303816000875af19250505080156119d0575060408051601f3d908101601f191682019092526119cd91810190612b0d565b60015b6119dc576118ce612b2e565b6001600160e01b0319811663bc197c8160e01b1461100c5760405162461bcd60e51b815260040161066f90612c74565b606061069b6001600160a01b03831660145b60606000611a2d836002612cd9565b611a38906002612520565b6001600160401b03811115611a4f57611a4f611e1d565b6040519080825280601f01601f191660200182016040528015611a79576020820181803683370190505b509050600360fc1b81600081518110611a9457611a946125ea565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611ac357611ac36125ea565b60200101906001600160f81b031916908160001a9053506000611ae7846002612cd9565b611af2906001612520565b90505b6001811115611b6a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611b2657611b266125ea565b1a60f81b828281518110611b3c57611b3c6125ea565b60200101906001600160f81b031916908160001a90535060049490941c93611b6381612cf8565b9050611af5565b5083156107855760405162461bcd60e51b815260040161066f90612d0f565b828054828255906000526020600020908101928215611bc4579160200282015b82811115611bc4578251825591602001919060010190611ba9565b50611bd0929150611bd4565b5090565b5b80821115611bd05760008155600101611bd5565b60006001600160a01b03821661069b565b611c0381611be9565b8114610ee857600080fd5b803561069b81611bfa565b80611c03565b803561069b81611c19565b60008060408385031215611c4057611c40600080fd5b6000611c4c8585611c0e565b9250506020611c5d85828601611c1f565b9150509250929050565b805b82525050565b6020810161069b8284611c67565b6001600160e01b03198116611c03565b803561069b81611c7d565b600060208284031215611cad57611cad600080fd5b6000611cb98484611c8d565b949350505050565b801515611c69565b6020810161069b8284611cc1565b60005b83811015611cf2578181015183820152602001611cda565b50506000910152565b6000611d05825190565b808452602084019350611d1c818560208601611cd7565b601f01601f19169290920192915050565b602080825281016107858184611cfb565b600060208284031215611d5357611d53600080fd5b6000611cb98484611c1f565b6000611d6b8383611c67565b505060200190565b6000611d7d825190565b80845260209384019383018060005b83811015611db1578151611da08882611d5f565b975060208301925050600101611d8c565b509495945050505050565b602080825281016107858184611d73565b600080600060608486031215611de557611de5600080fd5b6000611df18686611c0e565b9350506020611e0286828701611c1f565b9250506040611e1386828701611c1f565b9150509250925092565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b0382111715611e5857611e58611e1d565b6040525050565b6000611e6a60405190565b9050611e768282611e33565b919050565b60006001600160401b03821115611e9457611e94611e1d565b5060209081020190565b6000611eb1611eac84611e7b565b611e5f565b83815290506020808201908402830185811115611ed057611ed0600080fd5b835b81811015611ef45780611ee58882611c1f565b84525060209283019201611ed2565b5050509392505050565b600082601f830112611f1257611f12600080fd5b8135611cb9848260208601611e9e565b60006001600160401b03821115611f3b57611f3b611e1d565b601f19601f83011660200192915050565b82818337506000910152565b6000611f66611eac84611f22565b905082815260208101848484011115611f8157611f81600080fd5b610b3a848285611f4c565b600082601f830112611fa057611fa0600080fd5b8135611cb9848260208601611f58565b600080600080600060a08688031215611fcb57611fcb600080fd5b6000611fd78888611c0e565b9550506020611fe888828901611c0e565b94505060408601356001600160401b0381111561200757612007600080fd5b61201388828901611efe565b93505060608601356001600160401b0381111561203257612032600080fd5b61203e88828901611efe565b92505060808601356001600160401b0381111561205d5761205d600080fd5b61206988828901611f8c565b9150509295509295909350565b6000806040838503121561208c5761208c600080fd5b60006120988585611c1f565b9250506020611c5d85828601611c0e565b600080604083850312156120bf576120bf600080fd5b82356001600160401b038111156120d8576120d8600080fd5b6120e485828601611efe565b92505060208301356001600160401b0381111561210357612103600080fd5b611c5d85828601611efe565b600061211d611eac84611e7b565b8381529050602080820190840283018581111561213c5761213c600080fd5b835b81811015611ef457806121518882611c0e565b8452506020928301920161213e565b600082601f83011261217457612174600080fd5b8135611cb984826020860161210f565b6000806040838503121561219a5761219a600080fd5b82356001600160401b038111156121b3576121b3600080fd5b6120e485828601612160565b6000806000606084860312156121d7576121d7600080fd5b60006121e38686611c0e565b93505060206121f486828701611c1f565b92505060408401356001600160401b0381111561221357612213600080fd5b611e1386828701611efe565b60006020828403121561223457612234600080fd5b81356001600160401b0381111561224d5761224d600080fd5b611cb984828501611f8c565b6000806040838503121561226f5761226f600080fd5b600061227b8585611c1f565b92505060208301356001600160401b0381111561229a5761229a600080fd5b611c5d85828601611f8c565b611c6981611be9565b6020810161069b82846122a6565b801515611c03565b803561069b816122bd565b600080604083850312156122e6576122e6600080fd5b60006122f28585611c0e565b9250506020611c5d858286016122c5565b6000806040838503121561231957612319600080fd5b6000611c4c8585611c1f565b6000806040838503121561233b5761233b600080fd5b60006120988585611c0e565b600080600080600060a0868803121561236257612362600080fd5b600061236e8888611c0e565b955050602061237f88828901611c0e565b945050604061239088828901611c1f565b935050606061203e88828901611c1f565b6000602082840312156123b6576123b6600080fd5b6000611cb98484611c0e565b602a81526000602082017f455243313135353a2061646472657373207a65726f206973206e6f742061207681526930b634b21037bbb732b960b11b602082015291505b5060400190565b6020808252810161069b816123c2565b634e487b7160e01b600052602260045260246000fd5b60028104600182168061244657607f821691505b6020821081036124585761245861241c565b50919050565b6000815461246b81612432565b6001821680156124825760018114612497576124c7565b60ff19831686528115158202860193506124c7565b60008581526020902060005b838110156124bf578154888201526001909101906020016124a3565b838801955050505b50505092915050565b60006124da825190565b6124e8818560208601611cd7565b9290920192915050565b60006124fe828561245e565b9150611cb982846124d0565b634e487b7160e01b600052601160045260246000fd5b8082018082111561069b5761069b61250a565b602e81526000602082017f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e81526d195c881bdc88185c1c1c9bdd995960921b60208201529150612405565b6020808252810161069b81612533565b602f81526000602082017f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636581526e103937b632b9903337b91039b2b63360891b60208201529150612405565b6020808252810161069b8161258e565b634e487b7160e01b600052603260045260246000fd5b600060001982036126135761261361250a565b5060010190565b602981526000602082017f455243313135353a206163636f756e747320616e6420696473206c656e677468815268040dad2e6dac2e8c6d60bb1b60208201529150612405565b6020808252810161069b8161261a565b8181038181111561069b5761069b61250a565b602181526000602082017f455243313135353a206d696e7420746f20746865207a65726f206164647265738152607360f81b60208201529150612405565b6020808252810161069b81612683565b604081016126df8285611c67565b6107856020830184611c67565b602881526000602082017f455243313135353a2069647320616e6420616d6f756e7473206c656e677468208152670dad2e6dac2e8c6d60c31b60208201529150612405565b6020808252810161069b816126ec565b602581526000602082017f455243313135353a207472616e7366657220746f20746865207a65726f206164815264647265737360d81b60208201529150612405565b6020808252810161069b81612741565b602a81526000602082017f455243313135353a20696e73756666696369656e742062616c616e636520666f81526939103a3930b739b332b960b11b60208201529150612405565b6020808252810161069b81612793565b604080825281016127fb8185611d73565b90508181036020830152611cb98184611d73565b600061069b61281b8381565b90565b6128278361280f565b815460001960089490940293841b1916921b91909117905550565b600061096081848461281e565b8181101561099757612862600082612842565b60010161284f565b601f821115610960576000818152602090206020601f850104810160208510156128915750805b6109346020601f86010483018261284f565b81516001600160401b038111156128bc576128bc611e1d565b6128c68254612432565b6128d182828561286a565b6020601f83116001811461290557600084156128ed5750858201515b600019600886021c19811660028602178655506111b7565b600085815260208120601f198616915b828110156129355788850151825560209485019460019092019101612915565b868310156129515784890151600019601f89166008021c191682555b600160028802018855505050505050505050565b602981526000602082017f455243313135353a2073657474696e6720617070726f76616c20737461747573815268103337b91039b2b63360b91b60208201529150612405565b6020808252810161069b81612965565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260170160006129ed82856124d0565b7001034b99036b4b9b9b4b733903937b6329607d1b81529150601182016124fe565b602381526000602082017f455243313135353a206275726e2066726f6d20746865207a65726f206164647281526265737360e81b60208201529150612405565b6020808252810161069b81612a0f565b602481526000602082017f455243313135353a206275726e20616d6f756e7420657863656564732062616c815263616e636560e01b60208201529150612405565b6020808252810161069b81612a5f565b60a08101612abe82886122a6565b612acb60208301876122a6565b612ad86040830186611c67565b612ae56060830185611c67565b8181036080830152612af78184611cfb565b979650505050505050565b805161069b81611c7d565b600060208284031215612b2257612b22600080fd5b6000611cb98484612b02565b600060033d111561281b5760046000803e5060005160e01c90565b600060443d1015612b575790565b60405160043d036004823e80513d60248201116001600160401b0382111715612b7f57505090565b80820180516001600160401b03811115612b9a575050505090565b80602083010160043d038501811115612bb557505050505090565b612bc482602001850186611e33565b5090949350505050565b603481526000602082017f455243313135353a207472616e7366657220746f206e6f6e2d455243313135358152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60208201529150612405565b6020808252810161069b81612bce565b602881526000602082017f455243313135353a204552433131353552656365697665722072656a656374658152676420746f6b656e7360c01b60208201529150612405565b6020808252810161069b81612c2f565b60a08101612c9282886122a6565b612c9f60208301876122a6565b8181036040830152612cb18186611d73565b90508181036060830152612cc58185611d73565b90508181036080830152612af78184611cfb565b818102808215838204851417612cf157612cf161250a565b5092915050565b600081612d0757612d0761250a565b506000190190565b60208082528181019081527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460408301526060820161069b56fe87d555a759f2a6b58fdb8e37af60b23b47b3028c1df5b39cd03c4c075edd1f67a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a264697066735822122034c1279fa05a87e027da33277e22f307853c5fd0659e0dbdb16f64ceca1b516d64736f6c634300081300330000000000000000000000002472d36f785ca4cfad266269081cbb7fca8e31fe000000000000000000000000000000000000000000000000000000000000000e