107 txs
247 calls
constructor
constructor(address owner, address admin, address _abilityHdlr, address _itmHdlr, address _eqpHdlr, address _abilityContract, address _lootcrateNft, address _xcall, string _connectionAddr, string _sourceAddr) payable
functions
ability
viewfunction ability() view returns (address)
abilityHdlr
viewfunction abilityHdlr() view returns (address)
assetCounts
viewfunction assetCounts(uint256, uint256, uint8, uint256) view returns (uint256)
connectionAddress
viewfunction connectionAddress() view returns (string)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
eqpHdlr
viewfunction eqpHdlr() view returns (address)
getParticipantDetail
viewfunction getParticipantDetail(uint256 simulationId, uint256 charId) view returns (tuple)
getParticipantsCharacter
viewfunction getParticipantsCharacter(uint256 simulationId, address user) view returns (uint256 charId)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getTournamentLockedEquipment
viewfunction getTournamentLockedEquipment(uint256 tourId, address user) view returns (uint256 charId)
getTournamentLockTime
viewfunction getTournamentLockTime(uint256 _tournamentId) view returns (uint256 lockTime)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
iconBaseLootcrateIds
viewfunction iconBaseLootcrateIds(uint256) view returns (uint256)
itmHdlr
viewfunction itmHdlr() view returns (address)
lootcrateNft
viewfunction lootcrateNft() view returns (address)
simulations
viewfunction simulations(uint256) view returns (uint256 simulationId, uint256 tournamentId, uint256 gameStartTime, bool status)
sourceAddress
viewfunction sourceAddress() view returns (string)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tournamentDetails
viewfunction tournamentDetails(uint256) view returns (bool tournament, uint256 lockTime)
tournamentPayment
viewfunction tournamentPayment() view returns (address)
xCallContract
viewfunction xCallContract() view returns (address)
addAbilityTokens
nonpayablefunction addAbilityTokens(uint256 simulationId, uint256 charId, uint256[] abilityIds, uint256[] abilityValues)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
handleCallMessage
nonpayablefunction handleCallMessage(string _from, bytes _data, string[] _protocols)
lockEquipmentForTournament
nonpayablefunction lockEquipmentForTournament(uint256 _tournamentId, uint256 _equipmentId)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setAbility
nonpayablefunction setAbility(address _ability)
setAbilityHandler
nonpayablefunction setAbilityHandler(address _abilityHdlr)
setEquipmentHandler
nonpayablefunction setEquipmentHandler(address _eqpHdlr)
setIconBaseLoocrateIds
nonpayablefunction setIconBaseLoocrateIds(uint256[] iconIds, uint256[] baseIds)
setItemHandler
nonpayablefunction setItemHandler(address _itmHdlr)
setLootcrateNft
nonpayablefunction setLootcrateNft(address _lootcrate)
setPaymentContract
nonpayablefunction setPaymentContract(address _payment)
setProtocolAddress
nonpayablefunction setProtocolAddress(string _protocol)
setSourceAddress
nonpayablefunction setSourceAddress(string _source)
setXcallContract
nonpayablefunction setXcallContract(address _xcall)
unlockAssets
nonpayablefunction unlockAssets(uint256 simulationId, uint256 characterId, address owner, bool burnItem)
updateAbilities
nonpayablefunction updateAbilities(uint256 simulationId, address from, uint256 charId, uint256[] abilityIds, uint256[] abilityCounts)
updateEquipments
nonpayablefunction updateEquipments(uint256 simulationId, address from, uint256 charId, uint256[] equipmentIds, uint256[] equipmentCounts)
updateItems
nonpayablefunction updateItems(uint256 simulationId, address from, uint256 charId, uint256[] itemIds, uint256[] itemCounts)
updateUserAssets
nonpayablefunction updateUserAssets(uint256 simulationId, uint256 charId, address _from, tuple payload)
events
AbilityAdded
event AbilityAdded(address indexed caller, uint256 indexed characterId, uint256 indexed simulationId, uint256[] abilityId, uint256[] abilityValue)
LobbyUpdated
event LobbyUpdated(uint256 indexed simulationId, uint256 indexed characterId)
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)
SimulationCreated
event SimulationCreated(uint256 indexed simulationId, uint256 tournamentId)
SimulationEnded
event SimulationEnded(uint256 indexed simulationId)
SyncSimulation
event SyncSimulation(uint256 indexed simulationId)
TournamentCancelled
event TournamentCancelled(uint256 indexed tournamentId)
TournamentCompleted
event TournamentCompleted(uint256 indexed tournamentId)
TournamentCreated
event TournamentCreated(uint256 indexed tournamentId)
TournamentParticipation
event TournamentParticipation(uint256 indexed simulationId)
errors
ErrorOnParsingAddress
error ErrorOnParsingAddress()
GameStateError
error GameStateError(uint8)
InvalidConnectionAddress
error InvalidConnectionAddress()
InvalidContractType
error InvalidContractType(uint8)
InvalidEquipmentId
error InvalidEquipmentId()
InvalidProtocolLength
error InvalidProtocolLength()
InvalidSourceAddress
error InvalidSourceAddress()
MethodDoesNotExists
error MethodDoesNotExists()
NotAuthorized
error NotAuthorized()
NotPaidForTournament
error NotPaidForTournament()
SimulationAlreadyStarted
error SimulationAlreadyStarted()
SimulationDoesNotExist
error SimulationDoesNotExist()
SizeMismatch
error SizeMismatch(uint8)
TournamentDoesNotExist
error TournamentDoesNotExist()
creation bytecode
0x608060405260405162005852380380620058528339810160408190526200002691620003c6565b620000406000801b8b6200017560201b620020a71760201c565b620000777fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758a6200017560201b620020a71760201c565b620000ae7f60cd00dcfd7a15a07cd49d8c39dd66655888b430bf6412aa1c7b4b5fc410017b846200017560201b620020a71760201c565b620000e57f25cf2b509f2a7f322675b2a5322b182f44ad2c03ac941a0af17c9b178f5d5d5f8a6200017560201b620020a71760201c565b600b80546001600160a01b03199081166001600160a01b038b811691909117909255600c805482168a8416179055600d80548216898416179055600e80548216888416179055600f80548216878416179055600780549091169185169190911790556008620001558382620005e9565b506009620001648282620005e9565b5050505050505050505050620006b9565b62000181828262000185565b5050565b6200019182826200020d565b62000181576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001c93390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff165b92915050565b60006001600160a01b03821662000232565b620002558162000238565b81146200026157600080fd5b50565b805162000232816200024a565b6000620002328262000238565b620002558162000271565b805162000232816200027e565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b0382111715620002d457620002d462000296565b6040525050565b6000620002e760405190565b9050620002f58282620002ac565b919050565b60006001600160401b0382111562000316576200031662000296565b601f19601f83011660200192915050565b60005b83811015620003445781810151838201526020016200032a565b50506000910152565b6000620003646200035e84620002fa565b620002db565b905082815260208101848484011115620003815762000381600080fd5b6200038e84828562000327565b509392505050565b600082601f830112620003ac57620003ac600080fd5b8151620003be8482602086016200034d565b949350505050565b6000806000806000806000806000806101408b8d031215620003eb57620003eb600080fd5b6000620003f98d8d62000264565b9a505060206200040c8d828e0162000264565b99505060406200041f8d828e0162000289565b9850506060620004328d828e0162000289565b9750506080620004458d828e0162000289565b96505060a0620004588d828e0162000289565b95505060c06200046b8d828e0162000289565b94505060e06200047e8d828e0162000264565b9350506101008b01516001600160401b03811115620004a057620004a0600080fd5b620004ae8d828e0162000396565b9250506101208b01516001600160401b03811115620004d057620004d0600080fd5b620004de8d828e0162000396565b9150509295989b9194979a5092959850565b634e487b7160e01b600052602260045260246000fd5b6002810460018216806200051b57607f821691505b602082108103620005305762000530620004f0565b50919050565b600062000232620005448381565b90565b620005528362000536565b81546008840282811b60001990911b908116901990911617825550505050565b60006200058181848462000547565b505050565b8181101562000181576200059c60008262000572565b60010162000586565b601f82111562000581576000818152602090206020601f85010481016020851015620005ce5750805b620005e26020601f86010483018262000586565b5050505050565b81516001600160401b0381111562000605576200060562000296565b62000611825462000506565b6200061e828285620005a5565b6020601f8311600181146200065557600084156200063c5750858201515b600019600886021c1981166002860217865550620006b1565b600085815260208120601f198616915b8281101562000687578885015182556020948501946001909201910162000665565b86831015620006a45784890151600019601f89166008021c191682555b6001600288020188555050505b505050505050565b61518980620006c96000396000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c806362c70f7e11610146578063a59fc3eb116100c3578063d547741f11610087578063d547741f14610634578063ddadeeaf14610647578063e1d6e8761461065a578063e580c3ce1461067a578063ec21afbc1461068d578063f9f11b60146106a057600080fd5b8063a59fc3eb146105d3578063b0fa8444146105e6578063b85cdfd3146105ee578063b9029ee714610601578063c88a05dd1461061457600080fd5b80638abb20cc1161010a5780638abb20cc1461057f5780638c006259146105925780638c1d98eb146105a557806391d14854146105b8578063a217fddf146105cb57600080fd5b806362c70f7e146104e95780636a563aed1461050957806375de8db8146105445780637bc27153146105595780638125ade91461056c57600080fd5b806343141da5116101df5780634cef637d116101a35780634cef637d14610467578063515972e31461048a57806358135d521461049d5780635d2b7469146104b05780635d6a16f5146104c357806360c87440146104d657600080fd5b806343141da5146103aa5780634475df55146103bd57806345407522146103d057806346fbf9c61461041a57806349d4107d1461042d57600080fd5b80632f2ff15d116102265780632f2ff15d14610328578063351b6d031461033b57806336568abe1461034e5780633f8c3170146103615780633fe5bb691461039757600080fd5b806301ffc9a71461026357806313fa79801461028c5780631870b363146102ac578063248a9ca3146102f057806325ed2bd614610313575b600080fd5b610276610271366004613e0c565b6106b3565b6040516102839190613e3f565b60405180910390f35b600f5461029f906001600160a01b031681565b6040516102839190613e8f565b6102e36102ba366004613ed3565b60009182526001602081815260408085206001600160a01b039490941685529290529120015490565b6040516102839190613f16565b6102e36102fe366004613f24565b60009081526020819052604090206001015490565b61032661032136600461404a565b6106ea565b005b610326610336366004613ed3565b6107ac565b610326610349366004614147565b6107d6565b61032661035c366004613ed3565b610801565b6102e361036f366004613ed3565b60009182526001602090815260408084206001600160a01b0393909316845291905290205490565b6103266103a53660046141a1565b610837565b6103266103b8366004614205565b610880565b6103266103cb3660046142b0565b610b26565b61040a6103de366004613f24565b600260208190526000918252604090912080546001820154928201546003909201549092919060ff1684565b60405161028394939291906142d1565b6103266104283660046142b0565b610b74565b6102e361043b366004614327565b600560209081526000948552604080862082529385528385208152918452828420909152825290205481565b6102e3610475366004613f24565b6000908152600a602052604090206001015490565b61032661049836600461437f565b610bc2565b600b5461029f906001600160a01b031681565b6103266104be36600461404a565b610c44565b6103266104d136600461442f565b610cf5565b600e5461029f906001600160a01b031681565b6104fc6104f73660046144d9565b6118f1565b60405161028391906145c9565b610536610517366004613f24565b600a602052600090815260409020805460019091015460ff9091169082565b6040516102839291906145da565b61054c611ac4565b604051610283919061464b565b61032661056736600461404a565b611b52565b61032661057a366004614791565b611bf4565b61032661058d3660046142b0565b611da1565b6103266105a0366004614803565b611def565b60105461029f906001600160a01b031681565b6102766105c6366004613ed3565b611e3d565b6102e3600081565b6103266105e13660046142b0565b611e66565b61054c611eb4565b6103266105fc3660046142b0565b611ec1565b600c5461029f906001600160a01b031681565b6102e3610622366004613f24565b60036020526000908152604090205481565b610326610642366004613ed3565b611f0f565b6103266106553660046142b0565b611f34565b60075461066d906001600160a01b031681565b604051610283919061482d565b6103266106883660046144d9565b611f82565b61032661069b366004614147565b612082565b600d5461029f906001600160a01b031681565b60006001600160e01b03198216637965db0b60e01b14806106e457506301ffc9a760e01b6001600160e01b03198316145b92915050565b836001600160a01b038116331480159061071957506107176000805160206150f483398151915233611e3d565b155b801561073a575061073860008051602061511483398151915233611e3d565b155b156107585760405163ea8e4eb560e01b815260040160405180910390fd5b8151835114158061076b57506004835110155b156107955760056040516327f04bff60e01b815260040161078c919061487f565b60405180910390fd5b6107a4868587868660056120b1565b505050505050565b6000828152602081905260409020600101546107c7816123d1565b6107d183836123de565b505050565b6000805160206151348339815191526107ee816123d1565b60086107fb83858361495f565b50505050565b6001600160a01b03811633146108295760405162461bcd60e51b815260040161078c90614a22565b6108338282612462565b5050565b6000805160206150f483398151915261084f816123d1565b61085d8585856004866124c7565b61086b8585856001866124c7565b6108798585856005866124c7565b5050505050565b61088c828260056127a5565b60008481526002602081815260408084208151608081018352815480825260018301549482019490945293810154918401919091526003015460ff16151560608301523392036108ef57604051631d701c2560e21b815260040160405180910390fd5b42816040015110610916576005604051637c4b79e560e01b815260040161078c919061487f565b806060015161093b576002604051637c4b79e560e01b815260040161078c919061487f565b600061094c878785888860056120b1565b600085516001600160401b0381111561096757610967613f45565b604051908082528060200260200182016040528015610990578160200160208202803683370190505b509050600085516001600160401b038111156109ae576109ae613f45565b6040519080825280602002602001820160405280156109d7578160200160208202803683370190505b50905060005b8751811015610a84578681815181106109f8576109f8614a75565b602002602001015184610a0b9190614aa1565b9350878181518110610a1f57610a1f614a75565b6020026020010151838281518110610a3957610a39614a75565b602002602001018181525050868181518110610a5757610a57614a75565b6020026020010151828281518110610a7157610a71614a75565b60209081029190910101526001016109dd565b508888866001600160a01b03167f5e683f172022fd0e4a9749c18dafa61c8b0a1e7168ab1b3ddf387019da604dc88585604051610ac2929190614af2565b60405180910390a460048310610aee5760056040516327f04bff60e01b815260040161078c919061487f565b60405188908a907f16d56ff294ff25778acda367939faefd690cf3cade2a4cd49c825ff456b7dd7890600090a3505050505050505050565b600080516020615134833981519152610b3e816123d1565b600e546001600160a01b0383811691161461083357600e80546001600160a01b0384166001600160a01b03199091161790555050565b600080516020615134833981519152610b8c816123d1565b600f546001600160a01b0383811691161461083357600f80546001600160a01b0384166001600160a01b03199091161790555050565b600080516020615134833981519152610bda816123d1565b825160005b8181101561087957838181518110610bf957610bf9614a75565b602002602001015160036000878481518110610c1757610c17614a75565b60200260200101518152602001908152602001600020819055508080610c3c90614b17565b915050610bdf565b836001600160a01b0381163314801590610c735750610c716000805160206150f483398151915233611e3d565b155b8015610c945750610c9260008051602061511483398151915233611e3d565b155b15610cb25760405163ea8e4eb560e01b815260040160405180910390fd5b81518351141580610cc557506004835110155b15610ce65760016040516327f04bff60e01b815260040161078c919061487f565b6107a4868587868660016120b1565b600080516020615114833981519152610d0d816123d1565b600060098054610d1c906148a3565b80601f0160208091040260200160405190810160405280929190818152602001828054610d48906148a3565b8015610d955780601f10610d6a57610100808354040283529160200191610d95565b820191906000526020600020905b815481529060010190602001808311610d7857829003601f168201915b50505050509050600060088054610dab906148a3565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd7906148a3565b8015610e245780601f10610df957610100808354040283529160200191610e24565b820191906000526020600020905b815481529060010190602001808311610e0757829003601f168201915b50505050509050610e6c89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506127c9915050565b610e895760405163063ce8cd60e31b815260040160405180910390fd5b60018414610eaa57604051632376efbb60e21b815260040160405180910390fd5b610f0e85856000818110610ec057610ec0614a75565b9050602002810190610ed29190614b31565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508592506127c9915050565b610f2b576040516348b9acbb60e11b815260040160405180910390fd5b6000610f6c88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061282292505050565b9050610fa0816040518060400160405280601081526020016f18dc99585d19551bdd5c9b985b595b9d60821b8152506127c9565b15611016576000610fb18989612863565b80516000908152600a60209081526040808320805460ff1916600190811790915591840151845184528184209092019190915582519051929350917f113d32d0b7aec15a8c7f50af4cb42f4695e5b95524ed69519ac88d6c1f1f40f69190a2506118e5565b61104a816040518060400160405280601281526020017118dbdb5c1b195d19551bdd5c9b985b595b9d60721b8152506127c9565b156110e257600061105b8989612863565b80516000908152600a602090815260408220805460ff19169055820151919250036110b05780516040517ffa61ec8d7e5a58ceba17772b10ba0c6caa65b40b200302be35f00efc264c789590600090a26110dc565b80516040517fcdac78591ae836e3c817bf6dc0ba9fa0c8e312b6b25358009d27c0c6d8a3cc3090600090a25b506118e5565b611116816040518060400160405280601281526020017139b1b432b23ab632a9b4b6bab630ba34b7b760711b8152506127c9565b156111dd5760006111278989612952565b60408051608081018252825181526020808401805182840190815285850151848601908152606080880151151590860190815287516000908152600295869052879020865181559251600184015590519382019390935591516003909201805460ff191692151592909217909155835190519251939450909290917fa815f3c9ed54cd0424ae997e2462a26c3b575507ed7339701bf0294dd5ac1210916111ce9190613f16565b60405180910390a250506118e5565b61121481604051806040016040528060158152602001741d1bdd5c9b985b595b9d14185c9d1a58da5c185b9d605a1b8152506127c9565b156113d85760006112258989612aa5565b8051602082015160408301516060840151939450919290919060005b81518110156113a257600082828151811061125e5761125e614a75565b6020026020010151905060006001600160a01b0316816001600160a01b0316146113995783828151811061129457611294614a75565b6020908102919091018101516000888152600180845260408083206001600160a01b0387168452855280832093909355825181815280840190935290928281019080368337505060408051600180825281830190925292935060009291506020808301908036833750505060008881526001602081815260408084206001600160a01b0389168552909152909120810154919250811061139557808360008151811061134257611342614a75565b60200260200101818152505060018260008151811061136357611363614a75565b602002602001018181525050611395898589888151811061138657611386614a75565b60200260200101518686611b52565b5050505b50600101611241565b5060405184907f8e11c1b84cb43df6b72d82dfa487db5c6961f60ef9db2d150d604230a37c2e7a90600090a250505050506118e5565b611402816040518060400160405280600881526020016773796e63466c616760c01b8152506127c9565b15611440576114118888612d2e565b516040517f8614e78d72184b8022cc5f29ae5dfba6ba32c46a6274b69f039df627c0486d9090600090a26118e5565b61146f816040518060400160405280600d81526020016c32b73229b4b6bab630ba34b7b760991b8152506127c9565b156118cd5760006114808989612dcf565b602080820151600090815260039091526040812054606083015192935091905b815181101561153957600f5482516001600160a01b0390911690632baf2acb908490849081106114d2576114d2614a75565b60200260200101518560016040518463ffffffff1660e01b81526004016114fb93929190614b98565b600060405180830381600087803b15801561151557600080fd5b505af1158015611529573d6000803e3d6000fd5b5050600190920191506114a09050565b50608083015160608101516001600160a01b03161580159061155e5750604081015115155b156115e157600f54606082015160408084015160009081526003602052819020549051632baf2acb60e01b81526001600160a01b0390931692632baf2acb926115ae929091600190600401614b98565b600060405180830381600087803b1580156115c857600080fd5b505af11580156115dc573d6000803e3d6000fd5b505050505b60208101516001600160a01b0316158015906115fd5750805115155b1561167f57600f54602080830151835160009081526003909252604091829020549151632baf2acb60e01b81526001600160a01b0390931692632baf2acb9261164c9291600190600401614b98565b600060405180830381600087803b15801561166657600080fd5b505af115801561167a573d6000803e3d6000fd5b505050505b60a08101516001600160a01b03161580159061169e5750608081015115155b1561172357600f5460a0820151608083015160009081526003602052604090819020549051632baf2acb60e01b81526001600160a01b0390931692632baf2acb926116f0929091600190600401614b98565b600060405180830381600087803b15801561170a57600080fd5b505af115801561171e573d6000803e3d6000fd5b505050505b60a08401515160005b818110156117d65760008660a00151828151811061174c5761174c614a75565b602090810291909101810151600e54918101518151604080840151905163124d91e560e01b81529395506001600160a01b039094169363124d91e59361179793929190600401614bc0565b600060405180830381600087803b1580156117b157600080fd5b505af11580156117c5573d6000803e3d6000fd5b50506001909301925061172c915050565b50600d5460c0860151604051635a7542a760e11b81526001600160a01b039092169163b4ea854e9161180a91600401614c71565b600060405180830381600087803b15801561182457600080fd5b505af1158015611838573d6000803e3d6000fd5b5050865160009081526002602081905260408083206003808201805460ff1990811682558d51875284872084548155600180860154908201558487015496810196909655905494909101805490911660ff9094161515939093179092558951905191945092507f8a260bada429282b724c54002760819258b75ea3a2cf3caf6edb960bb7ea32da9190a25050505050506118e5565b604051627f3e2760e51b815260040160405180910390fd5b50505050505050505050565b61191c6040518060800160405280600081526020016060815260200160608152602001606081525090565b600083815260046020818152604080842086855282528084209284528282528084208054825181850281018501909352808352939493919290919083018282801561198657602002820191906000526020600020905b815481526020019060010190808311611972575b505050505090506000826000600160058111156119a5576119a561483b565b60058111156119b6576119b661483b565b8152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015611a0e57602002820191906000526020600020905b8154815260200190600101908083116119fa575b505050505090506000836000600580811115611a2c57611a2c61483b565b6005811115611a3d57611a3d61483b565b8152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015611a9557602002820191906000526020600020905b815481526020019060010190808311611a81575b5050604080516080810182529a8b5260208b019790975250505092860191909152506060840152509092915050565b60088054611ad1906148a3565b80601f0160208091040260200160405190810160405280929190818152602001828054611afd906148a3565b8015611b4a5780601f10611b1f57610100808354040283529160200191611b4a565b820191906000526020600020905b815481529060010190602001808311611b2d57829003601f168201915b505050505081565b836001600160a01b0381163314801590611b815750611b7f6000805160206150f483398151915233611e3d565b155b8015611ba25750611ba060008051602061511483398151915233611e3d565b155b15611bc05760405163ea8e4eb560e01b815260040160405180910390fd5b6002835110611be55760046040516327f04bff60e01b815260040161078c919061487f565b6107a4868587868660046120b1565b816001600160a01b0381163314801590611c235750611c216000805160206150f483398151915233611e3d565b155b8015611c445750611c4260008051602061511483398151915233611e3d565b155b15611c625760405163ea8e4eb560e01b815260040160405180910390fd5b60008581526001602090815260408083206001600160a01b0387168452909152902054848114611ca55760405163ea8e4eb560e01b815260040160405180910390fd5b60008681526002602081815260408084208151608081018352815480825260018301549482019490945293810154918401919091526003015460ff1615156060830152909103611d0857604051631d701c2560e21b815260040160405180910390fd5b42816040015111611d2c57604051630c82e9dd60e41b815260040160405180910390fd5b611d4187868887600001518860200151611b52565b611d5687868887604001518860600151610c44565b611d6b87868887608001518860a001516106ea565b604051869088907f16d56ff294ff25778acda367939faefd690cf3cade2a4cd49c825ff456b7dd7890600090a350505050505050565b600080516020615134833981519152611db9816123d1565b6010546001600160a01b0383811691161461083357601080546001600160a01b0384166001600160a01b03199091161790555050565b600080516020615134833981519152611e07816123d1565b6007546001600160a01b0383811691161461083357600780546001600160a01b0384166001600160a01b03199091161790555050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600080516020615134833981519152611e7e816123d1565b600c546001600160a01b0383811691161461083357600c80546001600160a01b0384166001600160a01b03199091161790555050565b60098054611ad1906148a3565b600080516020615134833981519152611ed9816123d1565b600b546001600160a01b0383811691161461083357600b80546001600160a01b0384166001600160a01b03199091161790555050565b600082815260208190526040902060010154611f2a816123d1565b6107d18383612462565b600080516020615134833981519152611f4c816123d1565b600d546001600160a01b0383811691161461083357600d80546001600160a01b0384166001600160a01b03199091161790555050565b6010546040516376beffad60e01b81526001600160a01b03909116906376beffad90611fb49033908690600401614c82565b602060405180830381865afa158015611fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff59190614c9b565b612012576040516387b86da360e01b815260040160405180910390fd5b6000828152600a602052604090205460ff1661204157604051637a30a6cf60e01b815260040160405180910390fd5b806000036120625760405163884d33e160e01b815260040160405180910390fd5b600091825260016020818152604080852033865290915290922090910155565b60008051602061513483398151915261209a816123d1565b60096107fb83858361495f565b61083382826123de565b6120bc8383836127a5565b60008681526004602090815260408083208884529091528120818360058111156120e8576120e861483b565b60058111156120f9576120f961483b565b8152602080820192909252604090810160009081208a8252600684528282208a835290935290812091925090818460058111156121385761213861483b565b60058111156121495761214961483b565b815260200190815260200160002090506000600560008a8152602001908152602001600020600089815260200190815260200160002060008560058111156121935761219361483b565b60058111156121a4576121a461483b565b815260200190815260200160002090506000865190506121c88a8a8a8860006124c7565b60005b818110156123c45760008882815181106121e7576121e7614a75565b60200260200101519050600088838151811061220557612205614a75565b602002602001015190506000856000848152602001908152602001600020549050806000036122555787546001810189556000898152602080822090920185905589548582529189905260409020555b60008381526020879052604090208183019055600489600581111561227c5761227c61483b565b036122ec57600d5460405163e2ab691d60e01b81526001600160a01b039091169063e2ab691d906122b5908f9087908790600401614bc0565b600060405180830381600087803b1580156122cf57600080fd5b505af11580156122e3573d6000803e3d6000fd5b505050506123b9565b60018960058111156123005761230061483b565b0361233957600c5460405163e2ab691d60e01b81526001600160a01b039091169063e2ab691d906122b5908f9087908790600401614bc0565b600589600581111561234d5761234d61483b565b036123b957600b5460405163e2ab691d60e01b81526001600160a01b039091169063e2ab691d90612386908f9087908790600401614bc0565b600060405180830381600087803b1580156123a057600080fd5b505af11580156123b4573d6000803e3d6000fd5b505050505b5050506001016121cb565b5050505050505050505050565b6123db8133613378565b50565b6123e88282611e3d565b610833576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561241e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61246c8282611e3d565b15610833576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008581526004602090815260408083208784529091528120818460058111156124f3576124f361483b565b60058111156125045761250461483b565b815260200190815260200160002090506000600560008881526020019081526020016000206000878152602001908152602001600020600085600581111561254e5761254e61483b565b600581111561255f5761255f61483b565b8152602081019190915260400160009081208354909250905b8181101561279a5760008360008660008154811061259857612598614a75565b90600052602060002001548152602001908152602001600020549050600460058111156125c7576125c761483b565b8760058111156125d9576125d961483b565b0361266a57600d5485546001600160a01b039091169063b5674c68908a9088908690811061260957612609614a75565b9060005260206000200154846040518463ffffffff1660e01b815260040161263393929190614bc0565b600060405180830381600087803b15801561264d57600080fd5b505af1158015612661573d6000803e3d6000fd5b50505050612736565b600187600581111561267e5761267e61483b565b036126d957600c5485546001600160a01b039091169063317536e6908a9088906000906126ad576126ad614a75565b9060005260206000200154848a6040518563ffffffff1660e01b81526004016126339493929190614cbc565b60058760058111156126ed576126ed61483b565b0361271c57600b5485546001600160a01b039091169063b5674c68908a90889060009061260957612609614a75565b8660405162da15db60e51b815260040161078c919061487f565b8360008660008154811061274c5761274c614a75565b90600052602060002001548152602001908152602001600020600090558480548061277957612779614cca565b60008281526020812082016000199081019190915501905550600101612578565b505050505050505050565b81518351146107d157806040516327f04bff60e01b815260040161078c919061487f565b6000816040516020016127dc9190614d02565b60405160208183030381529060405280519060200120836040516020016128039190614d02565b6040516020818303038152906040528051906020012014905092915050565b60606000612837612832846133d1565b6133fe565b905061285c8160008151811061284f5761284f614a75565b6020026020010151613526565b9392505050565b604080518082019091526000808252602082015260006128bb61283285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506133d192505050565b905080516003146128de5760405162461bcd60e51b815260040161078c90614d45565b6000816001815181106128f3576128f3614a75565b602002602001015190506000612908826135de565b905060008360028151811061291f5761291f614a75565b602002602001015190506000612934826135de565b60408051808201909152938452602084015250909695505050505050565b61297f60405180608001604052806000815260200160008152602001600081526020016000151581525090565b60006129c361283285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506133d192505050565b905080516005146129e65760405162461bcd60e51b815260040161078c90614d89565b6000816001815181106129fb576129fb614a75565b602002602001015190506000612a10826135de565b90506000612a3784600281518110612a2a57612a2a614a75565b60200260200101516135de565b90506000612a5185600381518110612a2a57612a2a614a75565b90506000612a7886600481518110612a6b57612a6b614a75565b602002602001015161366a565b60408051608081018252958652602086019490945292840191909152501515606082015295945050505050565b612ad06040518060800160405280600081526020016000815260200160608152602001606081525090565b6000612b1461283285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506133d192505050565b90508051600514612b375760405162461bcd60e51b815260040161078c90614d89565b6000612b4f82600181518110612a2a57612a2a614a75565b90506000612b6983600281518110612a2a57612a2a614a75565b90506000612b9084600381518110612b8357612b83614a75565b60200260200101516133fe565b9050600081516001600160401b03811115612bad57612bad613f45565b604051908082528060200260200182016040528015612bd6578160200160208202803683370190505b50905060005b8251811015612c1f57612bfa838281518110612a2a57612a2a614a75565b828281518110612c0c57612c0c614a75565b6020908102919091010152600101612bdc565b506000612c3886600481518110612b8357612b83614a75565b9050600081516001600160401b03811115612c5557612c55613f45565b604051908082528060200260200182016040528015612c7e578160200160208202803683370190505b50905060005b8251811015612d0257612ca283828151811061284f5761284f614a75565b51602a03612cfa57612cc7612cc284838151811061284f5761284f614a75565b6136bf565b828281518110612cd957612cd9614a75565b60200260200101906001600160a01b031690816001600160a01b0316815250505b600101612c84565b506040805160808101825296875260208701959095529385019190915250506060820152949350505050565b6040805160208101909152600081526000612d8161283285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506133d192505050565b90508051600214612da45760405162461bcd60e51b815260040161078c90614d89565b6040518060200160405280612dc583600181518110612a2a57612a2a614a75565b9052949350505050565b612dd7613d5b565b6000612e1b61283285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506133d192505050565b90508051600614612e3e5760405162461bcd60e51b815260040161078c90614d89565b6000612e61612832612e5c8460018151811061284f5761284f614a75565b6133d1565b9050600081516001600160401b03811115612e7e57612e7e613f45565b604051908082528060200260200182016040528015612ea7578160200160208202803683370190505b50905060005b8251811015612f2657612ecb83828151811061284f5761284f614a75565b51602a03612f1e57612eeb612cc284838151811061284f5761284f614a75565b828281518110612efd57612efd614a75565b60200260200101906001600160a01b031690816001600160a01b0316815250505b600101612ead565b506000612f45612832612e5c8660028151811061284f5761284f614a75565b90506000612f5f82600081518110612a2a57612a2a614a75565b90506000612f7983600181518110612a2a57612a2a614a75565b90506000612f9384600281518110612a2a57612a2a614a75565b90506000612fb3612832612e5c8a60038151811061284f5761284f614a75565b905060006040518060c00160405280612fd884600081518110612a2a57612a2a614a75565b8152602001612ff6612cc28560018151811061284f5761284f614a75565b6001600160a01b0316815260200161301a84600281518110612a2a57612a2a614a75565b8152602001613038612cc28560038151811061284f5761284f614a75565b6001600160a01b0316815260200161305c84600481518110612a2a57612a2a614a75565b815260200161307a612cc28560058151811061284f5761284f614a75565b6001600160a01b0316815250905060006130a6612832612e5c8c60048151811061284f5761284f614a75565b9050600081516001600160401b038111156130c3576130c3613f45565b60405190808252806020026020018201604052801561312157816020015b61310e60405180606001604052806000815260200160006001600160a01b03168152602001600081525090565b8152602001906001900390816130e15790505b50905060005b82518110156131db57600061314d612832612e5c86858151811061284f5761284f614a75565b9050604051806060016040528061317083600081518110612a2a57612a2a614a75565b815260200161318e612cc28460018151811061284f5761284f614a75565b6001600160a01b031681526020016131b283600281518110612a2a57612a2a614a75565b8152508383815181106131c7576131c7614a75565b602090810291909101015250600101613127565b5060006131fa612832612e5c8e60058151811061284f5761284f614a75565b9050600081516001600160401b0381111561321757613217613f45565b60405190808252806020026020018201604052801561327557816020015b6132626040518060600160405280600081526020016000815260200160006001600160a01b031681525090565b8152602001906001900390816132355790505b50905060005b825181101561332f5760006132a1612832612e5c86858151811061284f5761284f614a75565b905060405180606001604052806132c483600081518110612a2a57612a2a614a75565b81526020016132df83600281518110612a2a57612a2a614a75565b81526020016132fd612cc28460018151811061284f5761284f614a75565b6001600160a01b031681525083838151811061331b5761331b614a75565b60209081029190910101525060010161327b565b506040518060e001604052808a81526020018981526020018881526020018c8152602001868152602001848152602001828152509d505050505050505050505050505092915050565b6133828282611e3d565b6108335761338f8161397c565b61339a83602061398e565b6040516020016133ab929190614d99565b60408051601f198184030181529082905262461bcd60e51b825261078c9160040161464b565b60408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b606061340982613af9565b6134255760405162461bcd60e51b815260040161078c90614e16565b600061343083613b2a565b90506000816001600160401b0381111561344c5761344c613f45565b60405190808252806020026020018201604052801561349157816020015b604080518082019091526000808252602082015281526020019060019003908161346a5790505b50905060006134a38560200151613baf565b85602001516134b29190614aa1565b90506000805b8481101561351b576134c983613c30565b91506040518060400160405280838152602001848152508482815181106134f2576134f2614a75565b60209081029190910101526135078284614aa1565b92508061351381614b17565b9150506134b8565b509195945050505050565b80516060906135475760405162461bcd60e51b815260040161078c90614e4b565b60006135568360200151613baf565b9050600081846000015161356a9190614e5b565b90506000816001600160401b0381111561358657613586613f45565b6040519080825280601f01601f1916602001820160405280156135b0576020820181803683370190505b50905060008160200190506135d58487602001516135ce9190614aa1565b8285613cd9565b50949350505050565b8051600090158015906135f357508151602110155b61360f5760405162461bcd60e51b815260040161078c90614e98565b600061361e8360200151613baf565b905060008184600001516136329190614e5b565b90506000808386602001516136479190614aa1565b90508051915060208310156135d557506020919091036101000a90049392505050565b805160009060011461368e5760405162461bcd60e51b815260040161078c90614ed1565b6020820151805160001a908115806136a65750608082145b156136b5575060009392505050565b5060019392505050565b60008151602a1480156137005750600360fc1b6001600160f81b031916826000815181106136ef576136ef614a75565b01602001516001600160f81b031916145b801561373a5750600f60fb1b6001600160f81b0319168260018151811061372957613729614a75565b01602001516001600160f81b031916145b6137575760405163363fcec960e01b815260040160405180910390fd5b60408051601480825281830190925260009160208201818036833701905050905060008080805b60288110156138dc5786613793826002614aa1565b815181106137a3576137a3614a75565b016020015160f81c9350600160308510156137bc575060005b8460ff1660391080156137d2575060418560ff16105b156137db575060005b8460ff1660461080156137f1575060618560ff16105b156137fa575060005b8460ff166066101561380a575060005b806138285760405163363fcec960e01b815260040160405180910390fd5b60418560ff16101561383d5760309250613857565b8460ff16604610156138525760579250613857565b603792505b613862600283614ef7565b60000361387a576138738386614f0b565b93506138d3565b6138848386614f0b565b61388f856010614f28565b6138999190614f48565b60f81b8660016138a98186614e5b565b901c815181106138bb576138bb614a75565b60200101906001600160f81b031916908160001a9053505b5060010161377e565b506000846040516020016138f09190614d02565b60408051601f198184030181529190526014810151965090506001600160a01b0386166139725760025b87518110156139705787818151811061393557613935614a75565b6020910101516001600160f81b031916600360fc1b146139685760405163363fcec960e01b815260040160405180910390fd5b60010161391a565b505b5050505050919050565b60606106e46001600160a01b03831660145b6060600061399d836002614f65565b6139a8906002614aa1565b6001600160401b038111156139bf576139bf613f45565b6040519080825280601f01601f1916602001820160405280156139e9576020820181803683370190505b509050600360fc1b81600081518110613a0457613a04614a75565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613a3357613a33614a75565b60200101906001600160f81b031916908160001a9053506000613a57846002614f65565b613a62906001614aa1565b90505b6001811115613ada576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613a9657613a96614a75565b1a60f81b828281518110613aac57613aac614a75565b60200101906001600160f81b031916908160001a90535060049490941c93613ad381614f7d565b9050613a65565b50831561285c5760405162461bcd60e51b815260040161078c90614fc6565b80516000908103613b0c57506000919050565b6020820151805160001a9060c08210156136b5575060009392505050565b80516000908103613b3d57506000919050565b600080613b4d8460200151613baf565b8460200151613b5c9190614aa1565b9050600084600001518560200151613b749190614aa1565b90505b80821015613ba657613b8882613c30565b613b929083614aa1565b915082613b9e81614b17565b935050613b77565b50909392505050565b8051600090811a6080811015613bc85750600092915050565b60b8811080613be3575060c08110801590613be3575060f881105b15613bf15750600192915050565b60c0811015613c1e57613c06600160b8614f0b565b613c139060ff1682614e5b565b61285c906001614aa1565b613c06600160f8614f0b565b50919050565b80516000908190811a6080811015613c4b5760019150613cd2565b60b8811015613c7157613c5f608082614e5b565b613c6a906001614aa1565b9150613cd2565b60c0811015613c9e5760b78103600185019450806020036101000a85510460018201810193505050613cd2565b60f8811015613cb257613c5f60c082614e5b565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80600003613ce657505050565b60208110613d1e5782518252613cfd602084614aa1565b9250613d0a602083614aa1565b9150613d17602082614e5b565b9050613ce6565b80156107d15760006001613d33836020614e5b565b613d3f906101006150e4565b613d499190614e5b565b84518451821691191617835250505050565b6040518060e0016040528060008152602001600081526020016000815260200160608152602001613dd66040518060c001604052806000815260200160006001600160a01b031681526020016000815260200160006001600160a01b031681526020016000815260200160006001600160a01b031681525090565b815260200160608152602001606081525090565b6001600160e01b031981165b81146123db57600080fd5b80356106e481613dea565b600060208284031215613e2157613e21600080fd5b6000613e2d8484613e01565b949350505050565b8015155b82525050565b602081016106e48284613e35565b60006106e46001600160a01b038316613e64565b90565b6001600160a01b031690565b60006106e482613e4d565b60006106e482613e70565b613e3981613e7b565b602081016106e48284613e86565b80613df6565b80356106e481613e9d565b60006001600160a01b0382166106e4565b613df681613eae565b80356106e481613ebf565b60008060408385031215613ee957613ee9600080fd5b6000613ef58585613ea3565b9250506020613f0685828601613ec8565b9150509250929050565b80613e39565b602081016106e48284613f10565b600060208284031215613f3957613f39600080fd5b6000613e2d8484613ea3565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b0382111715613f8057613f80613f45565b6040525050565b6000613f9260405190565b9050613f9e8282613f5b565b919050565b60006001600160401b03821115613fbc57613fbc613f45565b5060209081020190565b6000613fd9613fd484613fa3565b613f87565b83815290506020808201908402830185811115613ff857613ff8600080fd5b835b8181101561401c578061400d8882613ea3565b84525060209283019201613ffa565b5050509392505050565b600082601f83011261403a5761403a600080fd5b8135613e2d848260208601613fc6565b600080600080600060a0868803121561406557614065600080fd5b60006140718888613ea3565b955050602061408288828901613ec8565b945050604061409388828901613ea3565b93505060608601356001600160401b038111156140b2576140b2600080fd5b6140be88828901614026565b92505060808601356001600160401b038111156140dd576140dd600080fd5b6140e988828901614026565b9150509295509295909350565b60008083601f84011261410b5761410b600080fd5b5081356001600160401b0381111561412557614125600080fd5b60208301915083600182028301111561414057614140600080fd5b9250929050565b6000806020838503121561415d5761415d600080fd5b82356001600160401b0381111561417657614176600080fd5b614182858286016140f6565b92509250509250929050565b801515613df6565b80356106e48161418e565b600080600080608085870312156141ba576141ba600080fd5b60006141c68787613ea3565b94505060206141d787828801613ea3565b93505060406141e887828801613ec8565b92505060606141f987828801614196565b91505092959194509250565b6000806000806080858703121561421e5761421e600080fd5b600061422a8787613ea3565b945050602061423b87828801613ea3565b93505060408501356001600160401b0381111561425a5761425a600080fd5b61426687828801614026565b92505060608501356001600160401b0381111561428557614285600080fd5b6141f987828801614026565b60006106e482613eae565b613df681614291565b80356106e48161429c565b6000602082840312156142c5576142c5600080fd5b6000613e2d84846142a5565b608081016142df8287613f10565b6142ec6020830186613f10565b6142f96040830185613f10565b6143066060830184613e35565b95945050505050565b600681106123db57600080fd5b80356106e48161430f565b6000806000806080858703121561434057614340600080fd5b600061434c8787613ea3565b945050602061435d87828801613ea3565b935050604061436e8782880161431c565b92505060606141f987828801613ea3565b6000806040838503121561439557614395600080fd5b82356001600160401b038111156143ae576143ae600080fd5b6143ba85828601614026565b92505060208301356001600160401b038111156143d9576143d9600080fd5b613f0685828601614026565b60008083601f8401126143fa576143fa600080fd5b5081356001600160401b0381111561441457614414600080fd5b60208301915083602082028301111561414057614140600080fd5b6000806000806000806060878903121561444b5761444b600080fd5b86356001600160401b0381111561446457614464600080fd5b61447089828a016140f6565b965096505060208701356001600160401b0381111561449157614491600080fd5b61449d89828a016140f6565b945094505060408701356001600160401b038111156144be576144be600080fd5b6144ca89828a016143e5565b92509250509295509295509295565b600080604083850312156144ef576144ef600080fd5b60006144fb8585613ea3565b9250506020613f0685828601613ea3565b60006145188383613f10565b505060200190565b600061452a825190565b80845260209384019383018060005b8381101561455e57815161454d888261450c565b975060208301925050600101614539565b509495945050505050565b8051600090608084019061457d8582613f10565b50602083015184820360208601526145958282614520565b915050604083015184820360408601526145af8282614520565b915050606083015184820360608601526143068282614520565b6020808252810161285c8184614569565b604081016145e88285613e35565b61285c6020830184613f10565b60005b838110156146105781810151838201526020016145f8565b50506000910152565b6000614623825190565b80845260208401935061463a8185602086016145f5565b601f01601f19169290920192915050565b6020808252810161285c8184614619565b600060c0828403121561467157614671600080fd5b61467b60c0613f87565b905081356001600160401b0381111561469657614696600080fd5b6146a284828501614026565b82525060208201356001600160401b038111156146c1576146c1600080fd5b6146cd84828501614026565b60208301525060408201356001600160401b038111156146ef576146ef600080fd5b6146fb84828501614026565b60408301525060608201356001600160401b0381111561471d5761471d600080fd5b61472984828501614026565b60608301525060808201356001600160401b0381111561474b5761474b600080fd5b61475784828501614026565b60808301525060a08201356001600160401b0381111561477957614779600080fd5b61478584828501614026565b60a08301525092915050565b600080600080608085870312156147aa576147aa600080fd5b60006147b68787613ea3565b94505060206147c787828801613ea3565b93505060406147d887828801613ec8565b92505060608501356001600160401b038111156147f7576147f7600080fd5b6141f98782880161465c565b60006020828403121561481857614818600080fd5b6000613e2d8484613ec8565b613e3981613eae565b602081016106e48284614824565b634e487b7160e01b600052602160045260246000fd5b600681106123db576123db61483b565b80613f9e81614851565b60006106e482614861565b613e398161486b565b602081016106e48284614876565b634e487b7160e01b600052602260045260246000fd5b6002810460018216806148b757607f821691505b602082108103613c2a57613c2a61488d565b60006106e4613e618381565b6148de836148c9565b81546008840282811b60001990911b908116901990911617825550505050565b60006107d18184846148d5565b818110156108335761491e6000826148fe565b60010161490b565b601f8211156107d1576000818152602090206020601f8501048101602085101561494d5750805b6108796020601f86010483018261490b565b826001600160401b0381111561497757614977613f45565b61498182546148a3565b61498c828285614926565b6000601f8311600181146149c057600084156149a85750858201355b600019600886021c1981166002860217865550614a19565b600085815260208120601f198616915b828110156149f057888501358255602094850194600190920191016149d0565b86831015614a0c57600019601f88166008021c19858a01351682555b6001600288020188555050505b50505050505050565b602080825281016106e481602f81527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560208201526e103937b632b9903337b91039b2b63360891b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156106e4576106e4614a8b565b6000614abe825190565b80845260209384019383018060005b8381101561455e578151614ae1888261450c565b975060208301925050600101614acd565b60408082528101614b038185614ab4565b90508181036020830152613e2d8184614ab4565b60006000198203614b2a57614b2a614a8b565b5060010190565b6000808335601e1936859003018112614b4c57614b4c600080fd5b8084019250823591506001600160401b03821115614b6c57614b6c600080fd5b602083019250600182023603831315614b8757614b87600080fd5b509250929050565b613e39816148c9565b60608101614ba68286614824565b614bb36020830185613f10565b613e2d6040830184614b8f565b60608101614bce8286614824565b614bdb6020830185613f10565b613e2d6040830184613f10565b80516060830190614bf98482613f10565b506020820151614c0c6020850182613f10565b5060408201516107fb6040850182614824565b6000614c2b8383614be8565b505060600190565b6000614c3d825190565b80845260209384019383018060005b8381101561455e578151614c608882614c1f565b975060208301925050600101614c4c565b6020808252810161285c8184614c33565b604081016145e88285614824565b80516106e48161418e565b600060208284031215614cb057614cb0600080fd5b6000613e2d8484614c90565b608081016142df8287614824565b634e487b7160e01b600052603160045260246000fd5b6000614cea825190565b614cf88185602086016145f5565b9290920192915050565b600061285c8284614ce0565b601b81526000602082017f496e76616c696420656e636f6465642064617461206c656e6774680000000000815291505b5060200190565b602080825281016106e481614d0e565b601881526000602082017f496e76616c6964456e636f646564446174614c656e677468000000000000000081529150614d3e565b602080825281016106e481614d55565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526017016000614dcb8285614ce0565b7001034b99036b4b9b9b4b733903937b6329607d1b81526011019150613e2d8284614ce0565b600e81526000602082016d135d5cdd0818994818481b1a5cdd60921b81529150614d3e565b602080825281016106e481614df1565b600e81526000602082016d092dcecc2d8d2c840d8cadccee8d60931b81529150614d3e565b602080825281016106e481614e26565b818103818111156106e4576106e4614a8b565b601381526000602082017224b73b30b634b2103ab4b73a10373ab6b132b960691b81529150614d3e565b602080825281016106e481614e6e565b60128152600060208201714d7573742068617665206c656e677468203160701b81529150614d3e565b602080825281016106e481614ea8565b634e487b7160e01b600052601260045260246000fd5b600082614f0657614f06614ee1565b500690565b60ff9182169190811690828203908111156106e4576106e4614a8b565b60ff918216919081169082820290811690818114613cd257613cd2614a8b565b60ff9182169190811690828201908111156106e4576106e4614a8b565b818102808215838204851417613cd257613cd2614a8b565b600081614f8c57614f8c614a8b565b506000190190565b60208082527f537472696e67733a20686578206c656e67746820696e73756666696369656e7491019081526000614d3e565b602080825281016106e481614f94565b80825b600185111561501557808604811115614ff457614ff4614a8b565b600185161561500257908102905b800261500e8560011c90565b9450614fd9565b94509492505050565b60008261502d5750600161285c565b8161503a5750600061285c565b8160018114615050576002811461505a57615087565b600191505061285c565b60ff84111561506b5761506b614a8b565b8360020a91508482111561508157615081614a8b565b5061285c565b5060208310610133831016604e8410600b84101617156150ba575081810a838111156150b5576150b5614a8b565b61285c565b6150c78484846001614fd6565b925090508184048111156150dd576150dd614a8b565b0292915050565b600061285c600019848461501e56fe25cf2b509f2a7f322675b2a5322b182f44ad2c03ac941a0af17c9b178f5d5d5f60cd00dcfd7a15a07cd49d8c39dd66655888b430bf6412aa1c7b4b5fc410017ba49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a2646970667358221220fd5d4192852807809df63550a4002e9b8f134b2f2081c1a8320b4786c3b69e8764736f6c634300081100330000000000000000000000002472d36f785ca4cfad266269081cbb7fca8e31fe000000000000000000000000d960dd5d7aa13d9d523693f990a8c426ef1866600000000000000000000000001a37e782858037e48d6e172ed953af90efb194df000000000000000000000000baddf59da2617899f24180ddeb5a6d7a20d61311000000000000000000000000c267cfef143fd5eeb15f4d13a23eb618d8bb4b2d000000000000000000000000124f404335dd8237de0ac9ea94acf92f6a1989e3000000000000000000000000059132359882cb81b98a027509fc977dece9f0530000000000000000000000007fdde482956770d148e055f9d2893f84a1b6b00b000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000002a3078323732383466344232386233423466423735633864364535383344633236643037314133343462610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000333078312e69636f6e2f63786461663232396363323039616534343263363134333362616435653732363862303731313539346400000000000000000000000000