0 txs
0 calls
constructor
No constructor.
functions
arrayUserPlayers
viewfunction arrayUserPlayers(address _user, uint256 _from, uint256 _to) view returns (tuple[])
arrayUserPlayers
viewfunction arrayUserPlayers(address _user) view returns (tuple[])
arrayUserPlayersWithValidContracts
viewfunction arrayUserPlayersWithValidContracts(address _user, uint256 _from, uint256 _to) view returns (tuple[])
arrayUserPlayersWithValidContracts
viewfunction arrayUserPlayersWithValidContracts(address _user) view returns (tuple[])
availableSEAmount
viewfunction availableSEAmount(address _user) view returns (uint128 amount)
availableSEAmountV2
viewfunction availableSEAmountV2(address _user) view returns (uint128 amount)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
contractBought
viewfunction contractBought(uint256) view returns (bool)
contractV2EndTimestamp
viewfunction contractV2EndTimestamp(uint256) view returns (uint32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
enableSeDivide
viewfunction enableSeDivide() view returns (bool)
GAME_ROLE
viewfunction GAME_ROLE() view returns (bytes32)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getSEAmountFromTokensId
viewfunction getSEAmountFromTokensId(uint256[] _tokenId) view returns (uint256 totalSeAmount, uint256[] tokenSeAmount)
getToken
viewfunction getToken(uint256 _tokenId) view returns (tuple)
gracePeriod
viewfunction gracePeriod() view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
mintLockDuration
viewfunction mintLockDuration() view returns (uint256)
mintLockStartTime
viewfunction mintLockStartTime() view returns (uint256)
name
viewfunction name() view returns (string)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
SE_BOOST_ROLE
viewfunction SE_BOOST_ROLE() view returns (bytes32)
seDivide
viewfunction seDivide() view returns (uint128)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
TOKEN_FREEZER
viewfunction TOKEN_FREEZER() view returns (bytes32)
TOKEN_MINTER_ROLE
viewfunction TOKEN_MINTER_ROLE() view returns (bytes32)
tokenByIndex
viewfunction tokenByIndex(uint256 index) view returns (uint256)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSEAmount
viewfunction totalSEAmount(address _user) view returns (uint128 amount)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address to, uint256 tokenId)
burn
nonpayablefunction burn(uint256 _tokenId)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(string baseURI, uint128 _seDivide, uint256 _gracePeriod, bool _enableSeDivide)
lockTokens
nonpayablefunction lockTokens(uint256[] tokenId, uint32 busyTo, bool willDecrease, address user, uint256 contractVersion) returns (uint128)
mint
nonpayablefunction mint(address to, uint128 squidEnergy, uint32 contractEndTimestamp, uint8 rarity)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string newBaseUri)
setMintLockTime
nonpayablefunction setMintLockTime(uint256 _mintLockTimeDuration, uint256 _mintLockStartTime)
setPlayerContract
nonpayablefunction setPlayerContract(uint256[] tokenId, uint32 contractDuration, address user, uint256 contractVersion)
setRarityLimitsTable
nonpayablefunction setRarityLimitsTable(uint128[5] newRarityLimits)
setSeDivide
nonpayablefunction setSeDivide(bool _enableSeDivide, uint128 _seDivide, uint256 _gracePeriod)
squidEnergyDecrease
nonpayablefunction squidEnergyDecrease(uint256[] tokenId, uint128[] deduction, address user)
squidEnergyIncrease
nonpayablefunction squidEnergyIncrease(uint256[] tokenId, uint128[] addition, address user)
tokenFreeze
nonpayablefunction tokenFreeze(uint256 _tokenId)
tokenUnfreeze
nonpayablefunction tokenUnfreeze(uint256 _tokenId)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
ChangeSEDivideState
event ChangeSEDivideState(bool state, uint256 seDivide, uint256 gracePeriod)
Initialize
event Initialize(string baseURI)
NewContract
event NewContract(uint256[] _tokenId, uint32[] contractEndTimestamp)
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)
SEIncrease
event SEIncrease(uint256[] _tokenId, uint128[] addition)
TokenMint
event TokenMint(address indexed to, uint256 indexed tokenId, uint8 rarity, uint128 squidEnergy)
TokensLock
event TokensLock(uint256[] _tokenId, uint32 busyTo, uint128[] decreaseSE)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506153fa806100206000396000f3fe608060405234801561001057600080fd5b506004361061035d5760003560e01c806378b43ae1116101d3578063c60b662611610104578063e50bc28a116100a2578063ef35b0fd1161007c578063ef35b0fd146107e7578063f05dbf3d146107f1578063f23e7e571461082d578063f3bef6d11461085457600080fd5b8063e50bc28a14610785578063e7a2e1f814610798578063e985e9c5146107ab57600080fd5b8063c8e90535116100de578063c8e905351461072c578063ca1da95a1461073f578063d547741f14610752578063e4b50cb81461076557600080fd5b8063c60b6626146106f3578063c8315d1e14610706578063c87b56dd1461071957600080fd5b8063a217fddf11610171578063b88d4fde1161014b578063b88d4fde146106b0578063b963158d146106c3578063c2002eab146106d6578063c3a80ebd146106e057600080fd5b8063a217fddf1461066e578063a22cb46514610676578063ab4007061461068957600080fd5b806393900f93116101ad57806393900f931461062257806395d89b41146106495780639936d52314610651578063a06db7dc1461066457600080fd5b806378b43ae1146105e85780638ec15545146105fc57806391d148541461060f57600080fd5b8063398fc2aa116102ad578063512b336d1161024b57806357769f621161022557806357769f621461059c5780635c9557a2146105af5780636352211e146105c257806370a08231146105d557600080fd5b8063512b336d1461054f57806355f804b314610576578063574c59cb1461058957600080fd5b806342966c681161028757806342966c681461050357806346ba7ddf146105165780634b77b0bf146105295780634f6ccce71461053c57600080fd5b8063398fc2aa146104b25780633c988a91146104dd57806342842e0e146104f057600080fd5b806318160ddd1161031a5780632e2a1baa116102f45780632e2a1baa146104595780632f2ff15d146104795780632f745c591461048c57806336568abe1461049f57600080fd5b806318160ddd1461041157806323b872dd14610423578063248a9ca31461043657600080fd5b806301ffc9a71461036257806306fdde031461038a578063081812fc1461039f578063095ea7b3146103ca57806315150997146103df578063176d27b014610403575b600080fd5b6103756103703660046144f7565b610875565b60405190151581526020015b60405180910390f35b6103926108a0565b604051610381919061456c565b6103b26103ad36600461457f565b610932565b6040516001600160a01b039091168152602001610381565b6103dd6103d83660046145b4565b6109bf565b005b6103756103ed36600461457f565b6101386020526000908152604090205460ff1681565b610135546103759060ff1681565b6099545b604051908152602001610381565b6103dd6104313660046145de565b610a04565b61041561044436600461457f565b600090815260c9602052604090206001015490565b61046c61046736600461461a565b610a3a565b604051610381919061475d565b6103dd6104873660046147bf565b610bb6565b61041561049a3660046145b4565b610bdc565b6103dd6104ad3660046147bf565b610c72565b6104c56104c03660046147eb565b610cec565b6040516001600160801b039091168152602001610381565b6103dd6104eb366004614806565b610de9565b6103dd6104fe3660046145de565b610e03565b6103dd61051136600461457f565b610e1e565b6104c56105243660046147eb565b610ea1565b61046c6105373660046147eb565b610f96565b61041561054a36600461457f565b610ff8565b6104157f262c70cb68844873654dc54487b634cb00850c1e13c785cd0d96a2b89b82947281565b6103dd610584366004614828565b61108b565b61046c61059736600461461a565b6110aa565b6103dd6105aa36600461457f565b6112db565b6104c56105bd366004614908565b611389565b6103b26105d036600461457f565b611516565b6104156105e33660046147eb565b61158d565b610133546104c5906001600160801b031681565b6103dd61060a366004614985565b611614565b61037561061d3660046147bf565b61162e565b6104157fbb972c0d9526cc83727cc466668f8c7e5e96e1b9d3cc4ec22af4882c11180e4881565b610392611659565b6104c561065f3660046147eb565b611668565b6104156101345481565b610415600081565b6103dd6106843660046149a7565b61172e565b6104157f6a64baf327d646d1bca72653e2a075d15fd6ac6d8cbd7f6ee03fc55875e0fa8881565b6103dd6106be366004614a5c565b6117f4565b6103dd6106d1366004614ad7565b611826565b6104156101375481565b6103dd6106ee36600461457f565b611a06565b6103dd610701366004614b5a565b611ac6565b6103dd610714366004614bb6565b611d34565b61039261072736600461457f565b611fff565b6103dd61073a366004614c36565b6120ca565b6103dd61074d366004614c62565b6121da565b6103dd6107603660046147bf565b612394565b61077861077336600461457f565b6123ba565b6040516103819190614cdd565b6103dd610793366004614bb6565b612566565b61046c6107a63660046147eb565b612885565b6103756107b9366004614cf0565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6104156101365481565b6108186107ff36600461457f565b6101396020526000908152604090205463ffffffff1681565b60405163ffffffff9091168152602001610381565b6104157ffca6bac8781bc66ef196bb85acbfc743e952d50480437ed109b46e883bda687b81565b610867610862366004614d1a565b6128e6565b604051610381929190614d5b565b60006001600160e01b0319821663780e9d6360e01b148061089a575061089a82612a3b565b92915050565b6060606580546108af90614da9565b80601f01602080910402602001604051908101604052809291908181526020018280546108db90614da9565b80156109285780601f106108fd57610100808354040283529160200191610928565b820191906000526020600020905b81548152906001019060200180831161090b57829003601f168201915b5050505050905090565b600061093d82612a60565b6109a35760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152606960205260409020546001600160a01b031690565b60008181526101326020526040902054600160e81b900460ff16156109f65760405162461bcd60e51b815260040161099a90614dde565b610a008282612a7d565b5050565b610a0e3382612b8e565b610a2a5760405162461bcd60e51b815260040161099a90614e0c565b610a35838383612c78565b505050565b6060610a458461158d565b8210610a8b5760405162461bcd60e51b815260206004820152601560248201527457726f6e67206d61782061727261792076616c756560581b604482015260640161099a565b610a948461158d565b610a9e8484614e73565b1115610ae05760405162461bcd60e51b815260206004820152601160248201527057726f6e672061727261792072616e676560781b604482015260640161099a565b6000610aec8484614e73565b610af7906001614e8a565b6001600160401b03811115610b0e57610b0e6149d1565b604051908082528060200260200182016040528015610b4757816020015b610b346142d3565b815260200190600190039081610b2c5790505b5090506000845b848111610bab576000610b618883610bdc565b9050610b6c816123ba565b848481518110610b7e57610b7e614ea2565b60200260200101819052508280610b9490614eb8565b935050508080610ba390614eb8565b915050610b4e565b509095945050505050565b600082815260c96020526040902060010154610bd28133612e23565b610a358383612e87565b6000610be78361158d565b8210610c495760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161099a565b506001600160a01b03919091166000908152609760209081526040808320938352929052205490565b6001600160a01b0381163314610ce25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161099a565b610a008282612f0d565b6000805b610cf98361158d565b811015610de3576000610d0c8483610bdc565b600081815261013260209081526040808320815160c081018352905460ff808216835263ffffffff6101008304811684870152600160281b8304811684860152600160481b8304811660608501526001600160801b03600160681b8404166080850152600160e81b90920416151560a08301528585526101399093529220549293509091429116118015610da9575042816040015163ffffffff16105b8015610db757508060a00151155b15610dce576080810151610dcb9085614ed3565b93505b50508080610ddb90614eb8565b915050610cf0565b50919050565b6000610df58133612e23565b610a3561012f836005614336565b610a35838383604051806020016040528060008152506117f4565b610e2781612a60565b610e435760405162461bcd60e51b815260040161099a90614efe565b33610e4d82611516565b6001600160a01b031614610e955760405162461bcd60e51b815260206004820152600f60248201526e2737ba103a37b5b2b71037bbb732b960891b604482015260640161099a565b610e9e81612f74565b50565b6000805b610eae8361158d565b811015610de35760006101326000610ec68685610bdc565b81526020808201929092526040908101600020815160c081018352905460ff808216835263ffffffff6101008304811695840195909552600160281b8204851693830193909352600160481b8104909316606082018190526001600160801b03600160681b8504166080830152600160e81b909304909116151560a0820152915042108015610f5e575042816040015163ffffffff16105b8015610f6c57508060a00151155b15610f83576080810151610f809084614ed3565b92505b5080610f8e81614eb8565b915050610ea5565b6060610fa18261158d565b610fdd576040805160008082526020820190925290610fd6565b610fc36142d3565b815260200190600190039081610fbb5790505b5092915050565b61089a8260006001610fee8661158d565b6104679190614e73565b600061100360995490565b82106110665760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161099a565b6099828154811061107957611079614ea2565b90600052602060002001549050919050565b60006110978133612e23565b6110a461012d84846143e4565b50505050565b60606110b58461158d565b82106110fb5760405162461bcd60e51b815260206004820152601560248201527457726f6e67206d61782061727261792076616c756560581b604482015260640161099a565b6111048461158d565b61110e8484614e73565b11156111505760405162461bcd60e51b815260206004820152601160248201527057726f6e672061727261792072616e676560781b604482015260640161099a565b600061115c8484614e73565b611167906001614e8a565b6001600160401b0381111561117e5761117e6149d1565b6040519080825280602002602001820160405280156111a7578160200160208202803683370190505b5090506000845b84811161121c5760006111c18883610bdc565b9050426111cd826123ba565b60a0015163ffffffff16111561120957808484815181106111f0576111f0614ea2565b60209081029190910101528261120581614eb8565b9350505b508061121481614eb8565b9150506111ae565b506000816001600160401b03811115611237576112376149d1565b60405190808252806020026020018201604052801561127057816020015b61125d6142d3565b8152602001906001900390816112555790505b50905060005b828110156112d0576112a084828151811061129357611293614ea2565b60200260200101516123ba565b8282815181106112b2576112b2614ea2565b602002602001018190525080806112c890614eb8565b915050611276565b509695505050505050565b7fbb972c0d9526cc83727cc466668f8c7e5e96e1b9d3cc4ec22af4882c11180e486113068133612e23565b60008281526101326020526040902054600160e81b900460ff1661136c5760405162461bcd60e51b815260206004820152601e60248201527f4552433732313a20546f6b656e20616c726561647920756e66726f7a656e0000604482015260640161099a565b50600090815261013260205260409020805460ff60e81b19169055565b60007f6a64baf327d646d1bca72653e2a075d15fd6ac6d8cbd7f6ee03fc55875e0fa886113b68133612e23565b600080886001600160401b038111156113d1576113d16149d1565b6040519080825280602002602001820160405280156113fa578160200160208202803683370190505b50905060005b898110156114cb57866001600160a01b03166114338c8c8481811061142757611427614ea2565b90506020020135611516565b6001600160a01b0316146114595760405162461bcd60e51b815260040161099a90614f35565b600061147f8c8c8481811061147057611470614ea2565b905060200201358b8b8a612f9c565b84848151811061149157611491614ea2565b6001600160801b039092166020928302919091019091015290506114b58185614ed3565b93505080806114c390614eb8565b915050611400565b507f6320d0601c2ae1f8fbae915572cd41a368ec3fe98f408f2522813816dc4e28228a8a8a846040516115019493929190614f97565b60405180910390a15098975050505050505050565b6000818152606760205260408120546001600160a01b03168061089a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161099a565b60006001600160a01b0382166115f85760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b606482015260840161099a565b506001600160a01b031660009081526068602052604090205490565b60006116208133612e23565b506101369190915561013755565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060606680546108af90614da9565b6000805b6116758361158d565b811015610de3576000610132600061168d8685610bdc565b81526020808201929092526040908101600020815160c081018352905460ff808216835263ffffffff6101008304811695840195909552600160281b8204851693830193909352600160481b810490931660608201526001600160801b03600160681b84041660808201819052600160e81b909304909116151560a082015291506117189084614ed3565b925050808061172690614eb8565b91505061166c565b6001600160a01b0382163314156117875760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161099a565b336000818152606a602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3191015b60405180910390a35050565b6117fe3383612b8e565b61181a5760405162461bcd60e51b815260040161099a90614e0c565b6110a4848484846132b1565b7f6a64baf327d646d1bca72653e2a075d15fd6ac6d8cbd7f6ee03fc55875e0fa886118518133612e23565b6000856001600160401b0381111561186b5761186b6149d1565b604051908082528060200260200182016040528015611894578160200160208202803683370190505b50905060005b868110156119c157846001600160a01b03166118c189898481811061142757611427614ea2565b6001600160a01b0316146118e75760405162461bcd60e51b815260040161099a90614f35565b83600114156119435761191288888381811061190557611905614ea2565b90506020020135876132e4565b82828151811061192457611924614ea2565b602002602001019063ffffffff16908163ffffffff16815250506119af565b836002141561196e5761191288888381811061196157611961614ea2565b905060200201358761341a565b60405162461bcd60e51b81526020600482015260166024820152752bb937b7339031b7b73a3930b1ba103b32b939b4b7b760511b604482015260640161099a565b806119b981614eb8565b91505061189a565b507f2fb3fec800a3dae939f4a121c56bcecface2cd3d67cbb82bacfb438e0cae555f8787836040516119f593929190615006565b60405180910390a150505050505050565b7fbb972c0d9526cc83727cc466668f8c7e5e96e1b9d3cc4ec22af4882c11180e48611a318133612e23565b60008281526101326020526040902054600160e81b900460ff1615611a985760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20546f6b656e20616c72656164792066726f7a656e00000000604482015260640161099a565b611aa3600083613565565b50600090815261013260205260409020805460ff60e81b1916600160e81b179055565b7f262c70cb68844873654dc54487b634cb00850c1e13c785cd0d96a2b89b829472611af18133612e23565b600260fb541415611b445760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161099a565b600260fb556001600160a01b038516611b9f5760405162461bcd60e51b815260206004820152601760248201527f416464726573732063616e206e6f74206265207a65726f000000000000000000604482015260640161099a565b60058260ff1610611be15760405162461bcd60e51b815260206004820152600c60248201526b57726f6e672072617269747960a01b604482015260640161099a565b61012f8260ff1660058110611bf857611bf8614ea2565b600291828204019190066010029054906101000a90046001600160801b03166001600160801b0316846001600160801b03161115611c785760405162461bcd60e51b815260206004820152601e60248201527f537175696420656e65726779206f76657220726172697479206c696d69740000604482015260640161099a565b600161012e6000828254611c8c9190614e8a565b909155505061012e54600081815261013260205260409020805460ff85167fffffff00000000000000000000000000000000ffffffffffffffffffffffff0090911617600160681b6001600160801b03881602176cffffffff00000000ffffffff0019166101004263ffffffff9081169190910263ffffffff60481b191691909117600160481b91871691909102179055611d2786826135d3565b5050600160fb5550505050565b7ffca6bac8781bc66ef196bb85acbfc743e952d50480437ed109b46e883bda687b611d5f8133612e23565b848314611daa5760405162461bcd60e51b815260206004820152601960248201527857726f6e672063616c6c646174612061727261792073697a6560381b604482015260640161099a565b60005b85811015611ff657611dd6878783818110611dca57611dca614ea2565b90506020020135612a60565b611df25760405162461bcd60e51b815260040161099a90614efe565b826001600160a01b0316611e1188888481811061142757611427614ea2565b6001600160a01b031614611e375760405162461bcd60e51b815260040161099a90614f35565b6101326000888884818110611e4e57611e4e614ea2565b905060200201358152602001908152602001600020600001601d9054906101000a900460ff1615611e915760405162461bcd60e51b815260040161099a90614dde565b848482818110611ea357611ea3614ea2565b9050602002016020810190611eb89190615065565b6001600160801b03166101326000898985818110611ed857611ed8614ea2565b6020908102929092013583525081019190915260400160002054600160681b90046001600160801b03161015611f485760405162461bcd60e51b815260206004820152601560248201527457726f6e6720646564756374696f6e2076616c756560581b604482015260640161099a565b848482818110611f5a57611f5a614ea2565b9050602002016020810190611f6f9190615065565b6101326000898985818110611f8657611f86614ea2565b905060200201358152602001908152602001600020600001600d8282829054906101000a90046001600160801b0316611fbf9190615080565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508080611fee90614eb8565b915050611dad565b50505050505050565b606061200a82612a60565b61206e5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b606482015260840161099a565b6000612078613646565b9050600081511161209857604051806020016040528060008152506120c3565b806120a284613656565b6040516020016120b39291906150a8565b6040516020818303038152906040525b9392505050565b60006120d68133612e23565b610133546127106001600160801b03909116111561215c5760405162461bcd60e51b815260206004820152603a60248201527f57726f6e6720736544697669646520706172616d657465722e204d757374206260448201527f65206c657373206f7220657175616c207468616e203130303030000000000000606482015260840161099a565b610135805460ff191685151590811790915561013380546001600160801b0319166001600160801b03861690811790915561013484905560408051928352602083019190915281018390527f9657540798b8146f6084fff506aa2874038b7e2d4c40bd2734be3b7469d435d59060600160405180910390a150505050565b600054610100900460ff16806121f3575060005460ff16155b61220f5760405162461bcd60e51b815260040161099a906150ce565b600054610100900460ff16158015612231576000805461ffff19166101011790555b6122826040518060400160405280601481526020017342697377617020537175696420506c617965727360601b8152506040518060400160405280600381526020016204253560ec1b815250613753565b61228a6137da565b61229261385d565b61229a6138c7565b6122a5600033613926565b784be4e7267b6ae00000000000000000002086ac35105260000061012f5578925e06eec972b00000000000000000006c6b935b8bbd4000006101305561013180546001600160801b03191668d8d726b7177a80000017905584516123119061012d906020880190614458565b5061013380546001600160801b0319166001600160801b038616179055610134839055610135805460ff19168315151790556040517f65b338e03a4156bd65a273672217a9d2d0e0594ee4f689f7a4be8ab5e91fd3019061237390879061456c565b60405180910390a1801561238d576000805461ff00191690555b5050505050565b600082815260c960205260409020600101546123b08133612e23565b610a358383612f0d565b6123c26142d3565b6123cb82612a60565b6123e75760405162461bcd60e51b815260040161099a90614efe565b60008281526101326020908152604091829020825160c081018452905460ff808216835263ffffffff6101008304811694840194909452600160281b8204841694830194909452600160481b810490921660608201526001600160801b03600160681b8304166080820152600160e81b909104909116151560a082015261246c6142d3565b838152815160ff16602082015261248284611516565b6001600160a01b0316604082015260808201516001600160801b03166060820152815161012f9060ff16600581106124bc576124bc614ea2565b600281049190910154600190911660100261010090810a9091046001600160801b03166080830152606083015163ffffffff90811660a0808501919091526000878152610139602090815260409182902054841660c087015290860151831660e0860152908501511515610120850152840151169082015261253d84611fff565b610140820152600093845261013860205260409093205460ff1615156101608401525090919050565b7ffca6bac8781bc66ef196bb85acbfc743e952d50480437ed109b46e883bda687b6125918133612e23565b8483146125dc5760405162461bcd60e51b815260206004820152601960248201527857726f6e672063616c6c646174612061727261792073697a6560381b604482015260640161099a565b60005b8581101561283f576125fc878783818110611dca57611dca614ea2565b6126185760405162461bcd60e51b815260040161099a90614efe565b826001600160a01b031661263788888481811061142757611427614ea2565b6001600160a01b03161461265d5760405162461bcd60e51b815260040161099a90614f35565b610132600088888481811061267457612674614ea2565b905060200201358152602001908152602001600020600001601d9054906101000a900460ff16156126b75760405162461bcd60e51b815260040161099a90614dde565b600061013260008989858181106126d0576126d0614ea2565b60209081029290920135835250810191909152604001600020805490915061012f9060ff166005811061270557612705614ea2565b600291828204019190066010029054906101000a90046001600160801b03166001600160801b031686868481811061273f5761273f614ea2565b90506020020160208101906127549190615065565b82546127709190600160681b90046001600160801b0316614ed3565b6001600160801b031611156127be5760405162461bcd60e51b815260206004820152601460248201527357726f6e67206164646974696f6e2076616c756560601b604482015260640161099a565b8585838181106127d0576127d0614ea2565b90506020020160208101906127e59190615065565b81548290600d90612807908490600160681b90046001600160801b0316614ed3565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050808061283790614eb8565b9150506125df565b507f9085b60d135763cc1a43c3acf5fb32762a5a7fd134f09450d7987a275609a4af86868686604051612875949392919061511c565b60405180910390a1505050505050565b60606128908261158d565b6128cb576040805160008082526020820190925290610fd6565b6128b26142d3565b8152602001906001900390816128aa5790505092915050565b61089a82600060016128dc8661158d565b6105979190614e73565b60006060826001600160401b03811115612902576129026149d1565b60405190808252806020026020018201604052801561292b578160200160208202803683370190505b50905060005b83811015612a335761294e858583818110611dca57611dca614ea2565b61296a5760405162461bcd60e51b815260040161099a90614efe565b610132600086868481811061298157612981614ea2565b905060200201358152602001908152602001600020600001600d9054906101000a90046001600160801b03166001600160801b03168282815181106129c8576129c8614ea2565b60200260200101818152505061013260008686848181106129eb576129eb614ea2565b6020908102929092013583525081019190915260400160002054612a1f90600160681b90046001600160801b031684614e8a565b925080612a2b81614eb8565b915050612931565b509250929050565b60006001600160e01b03198216637965db0b60e01b148061089a575061089a82613930565b6000908152606760205260409020546001600160a01b0316151590565b6000612a8882611516565b9050806001600160a01b0316836001600160a01b03161415612af65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161099a565b336001600160a01b0382161480612b125750612b1281336107b9565b612b845760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161099a565b610a358383613565565b6000612b9982612a60565b612bfa5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161099a565b6000612c0583611516565b9050806001600160a01b0316846001600160a01b03161480612c405750836001600160a01b0316612c3584610932565b6001600160a01b0316145b80612c7057506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316612c8b82611516565b6001600160a01b031614612cf35760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b606482015260840161099a565b6001600160a01b038216612d555760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161099a565b612d60838383613955565b612d6b600082613565565b6001600160a01b0383166000908152606860205260408120805460019290612d94908490614e73565b90915550506001600160a01b0382166000908152606860205260408120805460019290612dc2908490614e8a565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b612e2d828261162e565b610a0057612e45816001600160a01b03166014613a5b565b612e50836020613a5b565b604051602001612e6192919061517f565b60408051601f198184030181529082905262461bcd60e51b825261099a9160040161456c565b612e91828261162e565b610a0057600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055612ec93390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b612f17828261162e565b15610a0057600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b612f7d81613bf6565b60009081526101326020526040902080546001600160f01b0319169055565b600080612fa886612a60565b612fc45760405162461bcd60e51b815260040161099a90614efe565b428563ffffffff161161303f5760405162461bcd60e51b815260206004820152603a60248201527f4275737920746f20626c6f636b206d757374206265206772656174657220746860448201527f616e2063757272656e7420626c6f636b2074696d657374616d70000000000000606482015260840161099a565b6000868152610132602052604090208054600160e81b900460ff16156130775760405162461bcd60e51b815260040161099a906151f4565b805442600160281b90910463ffffffff16106130ca5760405162461bcd60e51b8152602060048201526012602482015271546f6b656e20616c7265616479206275737960701b604482015260640161099a565b836001141561313657805442600160481b90910463ffffffff16116131315760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206861736e742076616c696420636f6e7472616374000000000000604482015260640161099a565b6131a5565b836002141561196e57600087815261013960205260409020544263ffffffff909116116131315760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206861736e742076616c696420636f6e7472616374000000000000604482015260640161099a565b805463ffffffff808816600160281b0268ffffffff000000000019909216919091178083556101345460009290916131e4916101009091041642614e73565b61013554911115915060009060ff1680156131fc5750815b80156132055750865b61321057600061321e565b610133546001600160801b03165b8354600160681b90046001600160801b0316955090506000612710613243838861521a565b61324d919061525f565b845490915081908590600d90613274908490600160681b90046001600160801b0316615080565b82546101009290920a6001600160801b038181021990931691831602179091559454969b600160681b909704909416995094975050505050505050565b6132bc848484612c78565b6132c884848484613c9d565b6110a45760405162461bcd60e51b815260040161099a90615285565b6000828152610132602052604081208054600160e81b900460ff161561331c5760405162461bcd60e51b815260040161099a906151f4565b6000848152610138602052604090205460ff161561337c5760405162461bcd60e51b815260206004820152601760248201527f436f6e747261637420616c726561647920626f75676874000000000000000000604482015260640161099a565b6000848152610138602052604090208054600160ff19909116179055805442600160481b90910463ffffffff16116133db576133b883426152d7565b815463ffffffff60481b1916600160481b63ffffffff8316021782559150610fd6565b80546133f5908490600160481b900463ffffffff166152d7565b815463ffffffff60481b1916600160481b63ffffffff83160217825591505092915050565b60008281526101326020526040812054600160e81b900460ff16156134515760405162461bcd60e51b815260040161099a906151f4565b6000838152610132602052604090205442600160481b90910463ffffffff16106134bd5760405162461bcd60e51b815260206004820152601860248201527f436f6e7472616374205631206e6f742066696e69736865640000000000000000604482015260640161099a565b6000838152610139602052604090205463ffffffff428116911611156135315760405162461bcd60e51b815260206004820152602360248201527f50726576696f757320636f6e747261637420646f6573206e6f742066696e69736044820152621a195960ea1b606482015260840161099a565b61353b82426152d7565b60009384526101396020526040909320805463ffffffff191663ffffffff85161790555090919050565b600081815260696020526040902080546001600160a01b0319166001600160a01b038416908117909155819061359a82611516565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6135dd8282613daa565b6000818152610132602090815260409182902054825160ff82168152600160681b9091046001600160801b03169181019190915282916001600160a01b038516917fc6009403819f90912ff62a17593b0958c2f927a50bfaf7466899724c8fe3725491016117e8565b606061012d80546108af90614da9565b60608161367a5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156136a4578061368e81614eb8565b915061369d9050600a836152f6565b915061367e565b6000816001600160401b038111156136be576136be6149d1565b6040519080825280601f01601f1916602001820160405280156136e8576020820181803683370190505b5090505b8415612c70576136fd600183614e73565b915061370a600a8661530a565b613715906030614e8a565b60f81b81838151811061372a5761372a614ea2565b60200101906001600160f81b031916908160001a90535061374c600a866152f6565b94506136ec565b600054610100900460ff168061376c575060005460ff16155b6137885760405162461bcd60e51b815260040161099a906150ce565b600054610100900460ff161580156137aa576000805461ffff19166101011790555b6137b261385d565b6137ba61385d565b6137c48383613dc4565b8015610a35576000805461ff0019169055505050565b600054610100900460ff16806137f3575060005460ff16155b61380f5760405162461bcd60e51b815260040161099a906150ce565b600054610100900460ff16158015613831576000805461ffff19166101011790555b61383961385d565b61384161385d565b61384961385d565b8015610e9e576000805461ff001916905550565b600054610100900460ff1680613876575060005460ff16155b6138925760405162461bcd60e51b815260040161099a906150ce565b600054610100900460ff16158015613849576000805461ffff19166101011790558015610e9e576000805461ff001916905550565b600054610100900460ff16806138e0575060005460ff16155b6138fc5760405162461bcd60e51b815260040161099a906150ce565b600054610100900460ff1615801561391e576000805461ffff19166101011790555b613849613e59565b610a008282612e87565b60006001600160e01b0319821663780e9d6360e01b148061089a575061089a82613ec9565b6101375460008281526101326020526040902054610100900463ffffffff1611801561398957506001600160a01b03831615155b801561399d57506001600160a01b03821615155b15613a195761013654600082815261013260205260409020546139cb90610100900463ffffffff1642614e73565b1015613a195760405162461bcd60e51b815260206004820152601860248201527f6d696e74206c6f636b2074696d65206e6f7420656e6465640000000000000000604482015260640161099a565b60008181526101326020526040902054600160e81b900460ff1615613a505760405162461bcd60e51b815260040161099a90614dde565b610a35838383613f19565b60606000613a6a83600261531e565b613a75906002614e8a565b6001600160401b03811115613a8c57613a8c6149d1565b6040519080825280601f01601f191660200182016040528015613ab6576020820181803683370190505b509050600360fc1b81600081518110613ad157613ad1614ea2565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613b0057613b00614ea2565b60200101906001600160f81b031916908160001a9053506000613b2484600261531e565b613b2f906001614e8a565b90505b6001811115613ba7576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613b6357613b63614ea2565b1a60f81b828281518110613b7957613b79614ea2565b60200101906001600160f81b031916908160001a90535060049490941c93613ba08161533d565b9050613b32565b5083156120c35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161099a565b6000613c0182611516565b9050613c0f81600084613955565b613c1a600083613565565b6001600160a01b0381166000908152606860205260408120805460019290613c43908490614e73565b909155505060008281526067602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001600160a01b0384163b15613d9f57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613ce1903390899088908890600401615354565b602060405180830381600087803b158015613cfb57600080fd5b505af1925050508015613d2b575060408051601f3d908101601f19168201909252613d2891810190615391565b60015b613d85573d808015613d59576040519150601f19603f3d011682016040523d82523d6000602084013e613d5e565b606091505b508051613d7d5760405162461bcd60e51b815260040161099a90615285565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612c70565b506001949350505050565b610a00828260405180602001604052806000815250613fd1565b600054610100900460ff1680613ddd575060005460ff16155b613df95760405162461bcd60e51b815260040161099a906150ce565b600054610100900460ff16158015613e1b576000805461ffff19166101011790555b8251613e2e906065906020860190614458565b508151613e42906066906020850190614458565b508015610a35576000805461ff0019169055505050565b600054610100900460ff1680613e72575060005460ff16155b613e8e5760405162461bcd60e51b815260040161099a906150ce565b600054610100900460ff16158015613eb0576000805461ffff19166101011790555b600160fb558015610e9e576000805461ff001916905550565b60006001600160e01b031982166380ac58cd60e01b1480613efa57506001600160e01b03198216635b5e139f60e01b145b8061089a57506301ffc9a760e01b6001600160e01b031983161461089a565b6001600160a01b038316613f7457613f6f81609980546000838152609a60205260408120829055600182018355919091527f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000155565b613f97565b816001600160a01b0316836001600160a01b031614613f9757613f978382614004565b6001600160a01b038216613fae57610a35816140a1565b826001600160a01b0316826001600160a01b031614610a3557610a358282614150565b613fdb8383614194565b613fe86000848484613c9d565b610a355760405162461bcd60e51b815260040161099a90615285565b600060016140118461158d565b61401b9190614e73565b60008381526098602052604090205490915080821461406e576001600160a01b03841660009081526097602090815260408083208584528252808320548484528184208190558352609890915290208190555b5060009182526098602090815260408084208490556001600160a01b039094168352609781528383209183525290812055565b6099546000906140b390600190614e73565b6000838152609a6020526040812054609980549394509092849081106140db576140db614ea2565b9060005260206000200154905080609983815481106140fc576140fc614ea2565b6000918252602080832090910192909255828152609a90915260408082208490558582528120556099805480614134576141346153ae565b6001900381819060005260206000200160009055905550505050565b600061415b8361158d565b6001600160a01b039093166000908152609760209081526040808320868452825280832085905593825260989052919091209190915550565b6001600160a01b0382166141ea5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161099a565b6141f381612a60565b156142405760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161099a565b61424c60008383613955565b6001600160a01b0382166000908152606860205260408120805460019290614275908490614e8a565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b604080516101808101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820183905261014082015261016081019190915290565b6003830191839082156143d45791602002820160005b8382111561439f5783356001600160801b031683826101000a8154816001600160801b0302191690836001600160801b031602179055509260200192601001602081600f0104928301926001030261434c565b80156143d25782816101000a8154906001600160801b030219169055601001602081600f0104928301926001030261439f565b505b506143e09291506144cc565b5090565b8280546143f090614da9565b90600052602060002090601f01602090048101928261441257600085556143d4565b82601f1061442b5782800160ff198235161785556143d4565b828001600101855582156143d4579182015b828111156143d457823582559160200191906001019061443d565b82805461446490614da9565b90600052602060002090601f01602090048101928261448657600085556143d4565b82601f1061449f57805160ff19168380011785556143d4565b828001600101855582156143d4579182015b828111156143d45782518255916020019190600101906144b1565b5b808211156143e057600081556001016144cd565b6001600160e01b031981168114610e9e57600080fd5b60006020828403121561450957600080fd5b81356120c3816144e1565b60005b8381101561452f578181015183820152602001614517565b838111156110a45750506000910152565b60008151808452614558816020860160208601614514565b601f01601f19169290920160200192915050565b6020815260006120c36020830184614540565b60006020828403121561459157600080fd5b5035919050565b80356001600160a01b03811681146145af57600080fd5b919050565b600080604083850312156145c757600080fd5b6145d083614598565b946020939093013593505050565b6000806000606084860312156145f357600080fd5b6145fc84614598565b925061460a60208501614598565b9150604084013590509250925092565b60008060006060848603121561462f57600080fd5b61463884614598565b95602085013595506040909401359392505050565b600061018082518452602083015161466a602086018260ff169052565b50604083015161468560408601826001600160a01b03169052565b5060608301516146a060608601826001600160801b03169052565b5060808301516146bb60808601826001600160801b03169052565b5060a08301516146d360a086018263ffffffff169052565b5060c08301516146eb60c086018263ffffffff169052565b5060e083015161470360e086018263ffffffff169052565b506101008381015163ffffffff1690850152610120808401511515908501526101408084015181860183905261473b83870182614540565b92505050610160808401516147538287018215159052565b5090949350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156147b257603f198886030184526147a085835161464d565b94509285019290850190600101614784565b5092979650505050505050565b600080604083850312156147d257600080fd5b823591506147e260208401614598565b90509250929050565b6000602082840312156147fd57600080fd5b6120c382614598565b600060a0828403121561481857600080fd5b8260a083011115610de357600080fd5b6000806020838503121561483b57600080fd5b82356001600160401b038082111561485257600080fd5b818501915085601f83011261486657600080fd5b81358181111561487557600080fd5b86602082850101111561488757600080fd5b60209290920196919550909350505050565b60008083601f8401126148ab57600080fd5b5081356001600160401b038111156148c257600080fd5b6020830191508360208260051b85010111156148dd57600080fd5b9250929050565b803563ffffffff811681146145af57600080fd5b803580151581146145af57600080fd5b60008060008060008060a0878903121561492157600080fd5b86356001600160401b0381111561493757600080fd5b61494389828a01614899565b90975095506149569050602088016148e4565b9350614964604088016148f8565b925061497260608801614598565b9150608087013590509295509295509295565b6000806040838503121561499857600080fd5b50508035926020909101359150565b600080604083850312156149ba57600080fd5b6149c383614598565b91506147e2602084016148f8565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115614a0157614a016149d1565b604051601f8501601f19908116603f01168101908282118183101715614a2957614a296149d1565b81604052809350858152868686011115614a4257600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215614a7257600080fd5b614a7b85614598565b9350614a8960208601614598565b92506040850135915060608501356001600160401b03811115614aab57600080fd5b8501601f81018713614abc57600080fd5b614acb878235602084016149e7565b91505092959194509250565b600080600080600060808688031215614aef57600080fd5b85356001600160401b03811115614b0557600080fd5b614b1188828901614899565b9096509450614b249050602087016148e4565b9250614b3260408701614598565b949793965091946060013592915050565b80356001600160801b03811681146145af57600080fd5b60008060008060808587031215614b7057600080fd5b614b7985614598565b9350614b8760208601614b43565b9250614b95604086016148e4565b9150606085013560ff81168114614bab57600080fd5b939692955090935050565b600080600080600060608688031215614bce57600080fd5b85356001600160401b0380821115614be557600080fd5b614bf189838a01614899565b90975095506020880135915080821115614c0a57600080fd5b50614c1788828901614899565b9094509250614c2a905060408701614598565b90509295509295909350565b600080600060608486031215614c4b57600080fd5b614c54846148f8565b925061460a60208501614b43565b60008060008060808587031215614c7857600080fd5b84356001600160401b03811115614c8e57600080fd5b8501601f81018713614c9f57600080fd5b614cae878235602084016149e7565b945050614cbd60208601614b43565b925060408501359150614cd2606086016148f8565b905092959194509250565b6020815260006120c3602083018461464d565b60008060408385031215614d0357600080fd5b614d0c83614598565b91506147e260208401614598565b60008060208385031215614d2d57600080fd5b82356001600160401b03811115614d4357600080fd5b614d4f85828601614899565b90969095509350505050565b6000604082018483526020604081850152818551808452606086019150828701935060005b81811015614d9c57845183529383019391830191600101614d80565b5090979650505050505050565b600181811c90821680614dbd57607f821691505b60208210811415610de357634e487b7160e01b600052602260045260246000fd5b60208082526014908201527322a9219b99189d102a37b5b2b710333937bd32b760611b604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600082821015614e8557614e85614e5d565b500390565b60008219821115614e9d57614e9d614e5d565b500190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415614ecc57614ecc614e5d565b5060010190565b60006001600160801b03808316818516808303821115614ef557614ef5614e5d565b01949350505050565b6020808252601c908201527f4552433732313a20746f6b656e20646f6573206e6f7420657869737400000000604082015260600190565b6020808252601290820152712737ba1037bbb732b91037b3103a37b5b2b760711b604082015260600190565b81835260006001600160fb1b03831115614f7a57600080fd5b8260051b8083602087013760009401602001938452509192915050565b606081526000614fab606083018688614f61565b63ffffffff8516602084810191909152838203604085015284518083528582019282019060005b81811015614ff75784516001600160801b031683529383019391830191600101614fd2565b50909998505050505050505050565b60408152600061501a604083018587614f61565b82810360208481019190915284518083528582019282019060005b8181101561505757845163ffffffff1683529383019391830191600101615035565b509098975050505050505050565b60006020828403121561507757600080fd5b6120c382614b43565b60006001600160801b03838116908316818110156150a0576150a0614e5d565b039392505050565b600083516150ba818460208801614514565b835190830190614ef5818360208801614514565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b604081526000615130604083018688614f61565b8281036020848101919091528482528591810160005b86811015615172576001600160801b0361515f85614b43565b1682529282019290820190600101615146565b5098975050505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516151b7816017850160208801614514565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516151e8816028840160208801614514565b01602801949350505050565b6020808252600c908201526b2a37b5b2b710333937bd32b760a11b604082015260600190565b60006001600160801b038083168185168183048111821515161561524057615240614e5d565b02949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b038084168061527957615279615249565b92169190910492915050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600063ffffffff808316818516808303821115614ef557614ef5614e5d565b60008261530557615305615249565b500490565b60008261531957615319615249565b500690565b600081600019048311821515161561533857615338614e5d565b500290565b60008161534c5761534c614e5d565b506000190190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061538790830184614540565b9695505050505050565b6000602082840312156153a357600080fd5b81516120c3816144e1565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220fe2c28c2fdc8b8b50329609ec4dc173dde2b22bf41814627d74a761329397fbb64736f6c63430008090033