0 txs
0 calls
constructor
constructor(address _owner, address _admin, uint256 _maxEquipment, string _tokenURI, address _xcall) payable
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
BURNER_ROLE
viewfunction BURNER_ROLE() view returns (bytes32)
connectionAddress
viewfunction connectionAddress() view returns (string)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
maxEquipment
viewfunction maxEquipment() view returns (uint256)
mintedCount
viewfunction mintedCount(uint256) view returns (uint256)
MINTER_ROLE
viewfunction MINTER_ROLE() view returns (bytes32)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
sourceAddress
viewfunction sourceAddress() view returns (string)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenURI
viewfunction tokenURI() view returns (string)
totalSupply
viewfunction totalSupply(uint256) view returns (uint256)
uri
viewfunction uri(uint256 tokenId) view returns (string)
XCALL_ROLE
viewfunction XCALL_ROLE() view returns (bytes32)
xCallContract
viewfunction xCallContract() view returns (address)
burn
nonpayablefunction burn(uint256 _id, uint256 _count)
burnFrom
nonpayablefunction burnFrom(address _account, uint256 _id, uint256 _count)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
handleCallMessage
nonpayablefunction handleCallMessage(string _from, bytes _data, string[] _protocols)
mint
nonpayablefunction mint(address _address, uint256 _id, uint256 _count)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setMaxEquipment
nonpayablefunction setMaxEquipment(uint256 _maxEquipment)
setProtocolAddress
nonpayablefunction setProtocolAddress(string _protocol)
setSourceAddress
nonpayablefunction setSourceAddress(string _source)
setURI
nonpayablefunction setURI(string _tokenURI)
setXcallContract
nonpayablefunction setXcallContract(address _xcall)
transferOwnership
nonpayablefunction transferOwnership(address _newOwner)
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
Locked
event Locked(address indexed owner, uint256 indexed id, uint256 amount)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
TransferSingle
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
Unlocked
event Unlocked(address indexed owner, uint256 indexed id, uint256 amount)
URI
event URI(string value, uint256 indexed id)
errors
ErrorOnParsingAddress
error ErrorOnParsingAddress()
ExceededMaxMintCount
error ExceededMaxMintCount()
creation bytecode
0x60a0604052600060809081526003906200001a90826200034e565b506040516200418a3803806200418a8339810160408190526200003d9162000585565b604080516020810190915260008152620000578162000170565b50600880546001600160a01b0319166001600160a01b0387161790556200008c60008662000182602090811b62000e0317901c565b620000c37fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775856200018260201b62000e031760201c565b620000fa7f60cd00dcfd7a15a07cd49d8c39dd66655888b430bf6412aa1c7b4b5fc410017b826200018260201b62000e031760201c565b620001317f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826200018260201b62000e031760201c565b600c839055600d6200014483826200034e565b50600980546001600160a01b0319166001600160a01b0392909216919091179055506200062592505050565b60026200017e82826200034e565b5050565b6200017e828262000194828262000212565b6200017e5760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620001ce3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff165b92915050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602260045260246000fd5b6002810460018216806200028057607f821691505b60208210810362000295576200029562000255565b50919050565b600062000239620002a98381565b90565b620002b7836200029b565b81546008840282811b60001990911b908116901990911617825550505050565b6000620002e6818484620002ac565b505050565b818110156200017e5762000301600082620002d7565b600101620002eb565b601f821115620002e6576000818152602090206020601f85010481016020851015620003335750805b620003476020601f860104830182620002eb565b5050505050565b81516001600160401b038111156200036a576200036a6200023f565b6200037682546200026b565b620003838282856200030a565b6020601f831160018114620003ba5760008415620003a15750858201515b600019600886021c198116600286021786555062000416565b600085815260208120601f198616915b82811015620003ec5788850151825560209485019460019092019101620003ca565b86831015620004095784890151600019601f89166008021c191682555b6001600288020188555050505b505050505050565b60006001600160a01b03821662000239565b6200043b816200041e565b81146200044757600080fd5b50565b8051620002398162000430565b806200043b565b8051620002398162000457565b601f19601f83011681018181106001600160401b03821117156200049357620004936200023f565b6040525050565b6000620004a660405190565b9050620004b482826200046b565b919050565b60006001600160401b03821115620004d557620004d56200023f565b601f19601f83011660200192915050565b60005b8381101562000503578181015183820152602001620004e9565b50506000910152565b6000620005236200051d84620004b9565b6200049a565b905082815260208101848484011115620005405762000540600080fd5b6200054d848285620004e6565b509392505050565b600082601f8301126200056b576200056b600080fd5b81516200057d8482602086016200050c565b949350505050565b600080600080600060a08688031215620005a257620005a2600080fd5b6000620005b088886200044a565b9550506020620005c3888289016200044a565b9450506040620005d6888289016200045e565b93505060608601516001600160401b03811115620005f757620005f7600080fd5b620006058882890162000555565b925050608062000618888289016200044a565b9150509295509295909350565b613b5580620006356000396000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c806375de8db811610130578063d5391393116100b8578063f0b773791161007c578063f0b773791461054a578063f242432a1461055d578063f2fde38b14610570578063f6f34e9e14610583578063f9d0262a146105aa57600080fd5b8063d5391393146104ae578063d547741f146104d5578063e1d6e876146104e8578063e985e9c5146104fb578063ec21afbc1461053757600080fd5b8063a217fddf116100ff578063a217fddf14610458578063a22cb46514610460578063b0fa844414610473578063b390c0ab1461047b578063bd85b0391461048e57600080fd5b806375de8db81461040a5780638c006259146104125780638da5cb5b1461042557806391d148541461044557600080fd5b80632eb2c2d6116101b35780633c130d90116101825780633c130d901461039a5780634e1273f4146103a25780635d6a16f5146103c25780635e354332146103d557806375b238fc146103f557600080fd5b80632eb2c2d61461034e5780632f2ff15d14610361578063351b6d031461037457806336568abe1461038757600080fd5b80630e89341c116101fa5780630e89341c146102cb578063124d91e5146102de578063156e29f6146102f1578063248a9ca314610304578063282c51f31461032757600080fd5b8062fdd58e1461022b57806301ffc9a71461025457806302fe53051461027457806306fdde0314610289575b600080fd5b61023e6102393660046124a1565b6105b3565b60405161024b91906124e6565b60405180910390f35b61026761026236600461250f565b61060d565b60405161024b9190612540565b61028761028236600461263f565b610618565b005b6102be6040518060400160405280601681526020017547616e6757617220546f75726e616d656e745061737360501b81525081565b60405161024b91906126cf565b6102be6102d93660046126e0565b610641565b6102876102ec366004612701565b610721565b6102876102ff366004612701565b61075c565b61023e6103123660046126e0565b60009081526005602052604090206001015490565b61023e7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b61028761035c3660046127f3565b610810565b61028761036f3660046128b9565b61085c565b61028761038236600461293d565b610881565b6102876103953660046128b9565b6108a6565b6102be6108dc565b6103b56103b03660046129f9565b61096a565b60405161024b9190612abc565b6102876103d0366004612b17565b610a51565b61023e6103e33660046126e0565b60076020526000908152604090205481565b61023e600080516020613b0083398151915281565b6102be610c92565b610287610420366004612bc1565b610c9f565b600854610438906001600160a01b031681565b60405161024b9190612beb565b6102676104533660046128b9565b610cda565b61023e600081565b61028761046e366004612c0c565b610d05565b6102be610d10565b610287610489366004612c3f565b610d1d565b61023e61049c3660046126e0565b60066020526000908152604090205481565b61023e7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6102876104e33660046128b9565b610d28565b600954610438906001600160a01b031681565b610267610509366004612c61565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b61028761054536600461293d565b610d4d565b6102876105583660046126e0565b610d72565b61028761056b366004612c83565b610d90565b61028761057e366004612bc1565b610dd5565b61023e7f60cd00dcfd7a15a07cd49d8c39dd66655888b430bf6412aa1c7b4b5fc410017b81565b61023e600c5481565b60006001600160a01b0383166105e45760405162461bcd60e51b81526004016105db90612d27565b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b600061060782610e0d565b600080516020613b0083398151915261063081610e32565b600d61063c8382612e0c565b505050565b60008181526004602052604081208054606092919061065f90612d4d565b80601f016020809104026020016040519081016040528092919081815260200182805461068b90612d4d565b80156106d85780601f106106ad576101008083540402835291602001916106d8565b820191906000526020600020905b8154815290600101906020018083116106bb57829003601f168201915b5050505050905060008151116106f6576106f183610e3f565b61071a565b60038160405160200161070a929190612f62565b6040516020818303038152906040525b9392505050565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84861074b81610e32565b610756848484610ed3565b50505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661078681610e32565b600c548311156107a9576040516369dcbfcd60e11b815260040160405180910390fd5b6107c484848460405180602001604052806000815250610f06565b600083815260066020526040812080548492906107e2908490612f90565b909155505060008381526007602052604081208054849290610805908490612f90565b909155505050505050565b6001600160a01b03851633148061082c575061082c8533610509565b6108485760405162461bcd60e51b81526004016105db90612fee565b6108558585858585610fee565b5050505050565b60008281526005602052604090206001015461087781610e32565b61063c838361118a565b600080516020613b0083398151915261089981610e32565b600a610756838583612ffe565b6001600160a01b03811633146108ce5760405162461bcd60e51b81526004016105db9061310c565b6108d88282611210565b5050565b600d80546108e990612d4d565b80601f016020809104026020016040519081016040528092919081815260200182805461091590612d4d565b80156109625780601f1061093757610100808354040283529160200191610962565b820191906000526020600020905b81548152906001019060200180831161094557829003601f168201915b505050505081565b6060815183511461098d5760405162461bcd60e51b81526004016105db90613162565b600083516001600160401b038111156109a8576109a861254e565b6040519080825280602002602001820160405280156109d1578160200160208202803683370190505b50905060005b8451811015610a4957610a1c8582815181106109f5576109f5613172565b6020026020010151858381518110610a0f57610a0f613172565b60200260200101516105b3565b828281518110610a2e57610a2e613172565b6020908102919091010152610a4281613188565b90506109d7565b509392505050565b7f60cd00dcfd7a15a07cd49d8c39dd66655888b430bf6412aa1c7b4b5fc410017b610a7b81610e32565b610b108787600b8054610a8d90612d4d565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab990612d4d565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b5050505050611277565b610b2c5760405162461bcd60e51b81526004016105db906131d0565b60018214610b4c5760405162461bcd60e51b81526004016105db9061320c565b610b8183836000818110610b6257610b62613172565b9050602002810190610b74919061321c565b600a8054610a8d90612d4d565b610b9d5760405162461bcd60e51b81526004016105db906132a7565b6000610ba986866112e0565b805151602082015191925090600090815b83811015610c3e57600085604001518281518110610bda57610bda613172565b60200260200101519050610c1c86600001518381518110610bfd57610bfd613172565b6020026020010151848360405180602001604052806000815250610f06565b610c268185612f90565b93505060010180610c3681613188565b915050610bba565b5060008181526006602052604081208054849290610c5d908490612f90565b909155505060008181526007602052604081208054849290610c80908490612f90565b90915550505050505050505050505050565b600a80546108e990612d4d565b600080516020613b00833981519152610cb781610e32565b50600980546001600160a01b0319166001600160a01b0392909216919091179055565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6108d8338383611568565b600b80546108e990612d4d565b6108d8338383610ed3565b600082815260056020526040902060010154610d4381610e32565b61063c8383611210565b600080516020613b00833981519152610d6581610e32565b600b610756838583612ffe565b600080516020613b00833981519152610d8a81610e32565b50600c55565b6001600160a01b038516331480610dac5750610dac8533610509565b610dc85760405162461bcd60e51b81526004016105db90612fee565b610855858585858561160a565b6000610de081610e32565b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b6108d8828261118a565b60006001600160e01b03198216637965db0b60e01b1480610607575061060782611740565b610e3c8133611790565b50565b606060028054610e4e90612d4d565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7a90612d4d565b8015610ec75780601f10610e9c57610100808354040283529160200191610ec7565b820191906000526020600020905b815481529060010190602001808311610eaa57829003601f168201915b50505050509050919050565b610ede8383836117e9565b60008281526006602052604081208054839290610efc9084906132b7565b9091555050505050565b6001600160a01b038416610f2c5760405162461bcd60e51b81526004016105db90613308565b336000610f38856118f0565b90506000610f45856118f0565b90506000868152602081815260408083206001600160a01b038b16845290915281208054879290610f77908490612f90565b92505081905550866001600160a01b031660006001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051610fce929190613318565b60405180910390a4610fe58360008989898961193b565b50505050505050565b815183511461100f5760405162461bcd60e51b81526004016105db90613378565b6001600160a01b0384166110355760405162461bcd60e51b81526004016105db906133ca565b3360005b845181101561111c57600085828151811061105657611056613172565b60200260200101519050600085838151811061107457611074613172565b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156110c45760405162461bcd60e51b81526004016105db90613421565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611101908490612f90565b925050819055505050508061111590613188565b9050611039565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161116c929190613431565b60405180910390a4611182818787878787611a49565b505050505050565b6111948282610cda565b6108d85760008281526005602090815260408083206001600160a01b03851684529091529020805460ff191660011790556111cc3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61121a8282610cda565b156108d85760008281526005602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008160405160200161128a9190613456565b6040516020818303038152906040528051906020012084846040516020016112b3929190613475565b60405160208183030381529060405280519060200120036112d65750600161071a565b5060009392505050565b61130460405180606001604052806060815260200160008152602001606081525090565b600061134d61134885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b0492505050565b611b31565b905080516003146113705760405162461bcd60e51b81526004016105db906134b6565b60006113958260008151811061138857611388613172565b6020026020010151611b31565b9050600081516001600160401b038111156113b2576113b261254e565b6040519080825280602002602001820160405280156113db578160200160208202803683370190505b50905060005b82518110156114535761141461140f84838151811061140257611402613172565b6020026020010151611c59565b611d11565b82828151811061142657611426613172565b6001600160a01b03909216602092830291909101909101526001018061144b81613188565b9150506113e1565b50600061146c8460018151811061138857611388613172565b9050600081516001600160401b038111156114895761148961254e565b6040519080825280602002602001820160405280156114b2578160200160208202803683370190505b50905060005b8251811015611515576114e38382815181106114d6576114d6613172565b6020026020010151611feb565b8282815181106114f5576114f5613172565b60209081029190910101526001018061150d81613188565b9150506114b8565b5060008560028151811061152b5761152b613172565b60200260200101519050600061154082611feb565b6040805160608101825296875260208701919091528501929092525091979650505050505050565b816001600160a01b0316836001600160a01b0316036115995760405162461bcd60e51b81526004016105db9061350c565b6001600160a01b0383811660008181526001602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31906115fd908590612540565b60405180910390a3505050565b6001600160a01b0384166116305760405162461bcd60e51b81526004016105db906133ca565b33600061163c856118f0565b90506000611649856118f0565b90506000868152602081815260408083206001600160a01b038c1684529091529020548581101561168c5760405162461bcd60e51b81526004016105db90613421565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906116c9908490612f90565b92505081905550876001600160a01b0316896001600160a01b0316856001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a60405161171f929190613318565b60405180910390a4611735848a8a8a8a8a61193b565b505050505050505050565b60006001600160e01b03198216636cdb3d1360e11b148061177157506001600160e01b031982166303a24d0760e21b145b8061060757506301ffc9a760e01b6001600160e01b0319831614610607565b61179a8282610cda565b6108d8576117a781612077565b6117b2836020612089565b6040516020016117c392919061351c565b60408051601f198184030181529082905262461bcd60e51b82526105db916004016126cf565b6001600160a01b03831661180f5760405162461bcd60e51b81526004016105db906135b0565b33600061181b846118f0565b90506000611828846118f0565b60408051602080820183526000918290528882528181528282206001600160a01b038b16835290522054909150848110156118755760405162461bcd60e51b81526004016105db90613601565b6000868152602081815260408083206001600160a01b03808c16808652919093528184208986039055905190918716907fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62906118d4908b908b90613318565b60405180910390a4604080516020810190915260009052610fe5565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061192a5761192a613172565b602090810291909101015292915050565b6001600160a01b0384163b156111825760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061197f9089908990889088908890600401613611565b6020604051808303816000875af19250505080156119ba575060408051601f3d908101601f191682019092526119b79181019061366e565b60015b611a19576119c661368f565b806308c379a0036119ff57506119da6136aa565b806119e55750611a01565b8060405162461bcd60e51b81526004016105db91906126cf565b505b60405162461bcd60e51b81526004016105db90613780565b6001600160e01b0319811663f23a6e6160e01b14610fe55760405162461bcd60e51b81526004016105db906137d5565b6001600160a01b0384163b156111825760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611a8d90899089908890889088906004016137e5565b6020604051808303816000875af1925050508015611ac8575060408051601f3d908101601f19168201909252611ac59181019061366e565b60015b611ad4576119c661368f565b6001600160e01b0319811663bc197c8160e01b14610fe55760405162461bcd60e51b81526004016105db906137d5565b60408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b6060611b3c826121f4565b611b585760405162461bcd60e51b81526004016105db9061385f565b6000611b638361222f565b90506000816001600160401b03811115611b7f57611b7f61254e565b604051908082528060200260200182016040528015611bc457816020015b6040805180820190915260008082526020820152815260200190600190039081611b9d5790505b5090506000611bd685602001516122b4565b8560200151611be59190612f90565b90506000805b84811015611c4e57611bfc83612335565b9150604051806040016040528083815260200184815250848281518110611c2557611c25613172565b6020908102919091010152611c3a8284612f90565b925080611c4681613188565b915050611beb565b509195945050505050565b8051606090611c7a5760405162461bcd60e51b81526004016105db90613894565b6000611c8983602001516122b4565b90506000818460000151611c9d91906132b7565b90506000816001600160401b03811115611cb957611cb961254e565b6040519080825280601f01601f191660200182016040528015611ce3576020820181803683370190505b5090506000816020019050611d08848760200151611d019190612f90565b82856123de565b50949350505050565b60008151602a148015611d525750600360fc1b6001600160f81b03191682600081518110611d4157611d41613172565b01602001516001600160f81b031916145b8015611d8c5750600f60fb1b6001600160f81b03191682600181518110611d7b57611d7b613172565b01602001516001600160f81b031916145b611da95760405163363fcec960e01b815260040160405180910390fd5b60408051601480825281830190925260009160208201818036833701905050905060008080805b6028811015611f415786611de5826002612f90565b81518110611df557611df5613172565b016020015160f81c935060016030851015611e0e575060005b8460ff166039108015611e24575060418560ff16105b15611e2d575060005b8460ff166046108015611e43575060618560ff16105b15611e4c575060005b8460ff1660661015611e5c575060005b80611e7a5760405163363fcec960e01b815260040160405180910390fd5b60418560ff161015611e8f5760309250611ea9565b8460ff1660461015611ea45760579250611ea9565b603792505b611eb46002836138ba565b600003611ecc57611ec583866138ce565b9350611f2e565b611ed683866138ce565b611ee18560106138eb565b611eeb919061390b565b60f81b866002611efc6001866132b7565b611f069190613928565b81518110611f1657611f16613172565b60200101906001600160f81b031916908160001a9053505b5080611f3981613188565b915050611dd0565b50600084604051602001611f559190613456565b60408051601f198184030181529190526014810151965090506001600160a01b038616611fe15760025b8751811015611fdf57878181518110611f9a57611f9a613172565b6020910101516001600160f81b031916600360fc1b14611fcd5760405163363fcec960e01b815260040160405180910390fd5b80611fd781613188565b915050611f7f565b505b5050505050919050565b80516000901580159061200057508151602110155b61201c5760405162461bcd60e51b81526004016105db90613966565b600061202b83602001516122b4565b9050600081846000015161203f91906132b7565b90506000808386602001516120549190612f90565b9050805191506020831015611d0857506020919091036101000a90049392505050565b60606106076001600160a01b03831660145b60606000612098836002613976565b6120a3906002612f90565b6001600160401b038111156120ba576120ba61254e565b6040519080825280601f01601f1916602001820160405280156120e4576020820181803683370190505b509050600360fc1b816000815181106120ff576120ff613172565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061212e5761212e613172565b60200101906001600160f81b031916908160001a9053506000612152846002613976565b61215d906001612f90565b90505b60018111156121d5576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061219157612191613172565b1a60f81b8282815181106121a7576121a7613172565b60200101906001600160f81b031916908160001a90535060049490941c936121ce8161398e565b9050612160565b50831561071a5760405162461bcd60e51b81526004016105db906139d7565b8051600090810361220757506000919050565b6020820151805160001a9060c0821015612225575060009392505050565b5060019392505050565b8051600090810361224257506000919050565b60008061225284602001516122b4565b84602001516122619190612f90565b90506000846000015185602001516122799190612f90565b90505b808210156122ab5761228d82612335565b6122979083612f90565b9150826122a381613188565b93505061227c565b50909392505050565b8051600090811a60808110156122cd5750600092915050565b60b88110806122e8575060c081108015906122e8575060f881105b156122f65750600192915050565b60c08110156123235761230b600160b86138ce565b6123189060ff16826132b7565b61071a906001612f90565b61230b600160f86138ce565b50919050565b80516000908190811a608081101561235057600191506123d7565b60b8811015612376576123646080826132b7565b61236f906001612f90565b91506123d7565b60c08110156123a35760b78103600185019450806020036101000a855104600182018101935050506123d7565b60f88110156123b75761236460c0826132b7565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b806000036123eb57505050565b602081106124235782518252612402602084612f90565b925061240f602083612f90565b915061241c6020826132b7565b90506123eb565b801561063c57600060016124388360206132b7565b61244490610100613af0565b61244e91906132b7565b84518451821691191617835250505050565b60006001600160a01b038216610607565b61247a81612460565b8114610e3c57600080fd5b803561060781612471565b8061247a565b803561060781612490565b600080604083850312156124b7576124b7600080fd5b60006124c38585612485565b92505060206124d485828601612496565b9150509250929050565b805b82525050565b6020810161060782846124de565b6001600160e01b0319811661247a565b8035610607816124f4565b60006020828403121561252457612524600080fd5b60006125308484612504565b949350505050565b8015156124e0565b602081016106078284612538565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b03821117156125895761258961254e565b6040525050565b600061259b60405190565b90506125a78282612564565b919050565b60006001600160401b038211156125c5576125c561254e565b601f19601f83011660200192915050565b82818337506000910152565b60006125f56125f0846125ac565b612590565b90508281526020810184848401111561261057612610600080fd5b610a498482856125d6565b600082601f83011261262f5761262f600080fd5b81356125308482602086016125e2565b60006020828403121561265457612654600080fd5b81356001600160401b0381111561266d5761266d600080fd5b6125308482850161261b565b60005b8381101561269457818101518382015260200161267c565b50506000910152565b60006126a7825190565b8084526020840193506126be818560208601612679565b601f01601f19169290920192915050565b6020808252810161071a818461269d565b6000602082840312156126f5576126f5600080fd5b60006125308484612496565b60008060006060848603121561271957612719600080fd5b60006127258686612485565b935050602061273686828701612496565b925050604061274786828701612496565b9150509250925092565b60006001600160401b0382111561276a5761276a61254e565b5060209081020190565b60006127826125f084612751565b838152905060208082019084028301858111156127a1576127a1600080fd5b835b818110156127c557806127b68882612496565b845250602092830192016127a3565b5050509392505050565b600082601f8301126127e3576127e3600080fd5b8135612530848260208601612774565b600080600080600060a0868803121561280e5761280e600080fd5b600061281a8888612485565b955050602061282b88828901612485565b94505060408601356001600160401b0381111561284a5761284a600080fd5b612856888289016127cf565b93505060608601356001600160401b0381111561287557612875600080fd5b612881888289016127cf565b92505060808601356001600160401b038111156128a0576128a0600080fd5b6128ac8882890161261b565b9150509295509295909350565b600080604083850312156128cf576128cf600080fd5b60006128db8585612496565b92505060206124d485828601612485565b60008083601f84011261290157612901600080fd5b5081356001600160401b0381111561291b5761291b600080fd5b60208301915083600182028301111561293657612936600080fd5b9250929050565b6000806020838503121561295357612953600080fd5b82356001600160401b0381111561296c5761296c600080fd5b612978858286016128ec565b92509250509250929050565b60006129926125f084612751565b838152905060208082019084028301858111156129b1576129b1600080fd5b835b818110156127c557806129c68882612485565b845250602092830192016129b3565b600082601f8301126129e9576129e9600080fd5b8135612530848260208601612984565b60008060408385031215612a0f57612a0f600080fd5b82356001600160401b03811115612a2857612a28600080fd5b612a34858286016129d5565b92505060208301356001600160401b03811115612a5357612a53600080fd5b6124d4858286016127cf565b6000612a6b83836124de565b505060200190565b6000612a7d825190565b80845260209384019383018060005b83811015612ab1578151612aa08882612a5f565b975060208301925050600101612a8c565b509495945050505050565b6020808252810161071a8184612a73565b60008083601f840112612ae257612ae2600080fd5b5081356001600160401b03811115612afc57612afc600080fd5b60208301915083602082028301111561293657612936600080fd5b60008060008060008060608789031215612b3357612b33600080fd5b86356001600160401b03811115612b4c57612b4c600080fd5b612b5889828a016128ec565b965096505060208701356001600160401b03811115612b7957612b79600080fd5b612b8589828a016128ec565b945094505060408701356001600160401b03811115612ba657612ba6600080fd5b612bb289828a01612acd565b92509250509295509295509295565b600060208284031215612bd657612bd6600080fd5b60006125308484612485565b6124e081612460565b602081016106078284612be2565b80151561247a565b803561060781612bf9565b60008060408385031215612c2257612c22600080fd5b6000612c2e8585612485565b92505060206124d485828601612c01565b60008060408385031215612c5557612c55600080fd5b60006124c38585612496565b60008060408385031215612c7757612c77600080fd5b60006128db8585612485565b600080600080600060a08688031215612c9e57612c9e600080fd5b6000612caa8888612485565b9550506020612cbb88828901612485565b9450506040612ccc88828901612496565b935050606061288188828901612496565b602a81526000602082017f455243313135353a2061646472657373207a65726f206973206e6f742061207681526930b634b21037bbb732b960b11b602082015291505b5060400190565b6020808252810161060781612cdd565b634e487b7160e01b600052602260045260246000fd5b600281046001821680612d6157607f821691505b60208210810361232f5761232f612d37565b6000610607612d7f8381565b90565b612d8b83612d73565b81546008840282811b60001990911b908116901990911617825550505050565b600061063c818484612d82565b818110156108d857612dcb600082612dab565b600101612db8565b601f82111561063c576000818152602090206020601f85010481016020851015612dfa5750805b6108556020601f860104830182612db8565b81516001600160401b03811115612e2557612e2561254e565b612e2f8254612d4d565b612e3a828285612dd3565b6020601f831160018114612e6e5760008415612e565750858201515b600019600886021c1981166002860217865550611182565b600085815260208120601f198616915b82811015612e9e5788850151825560209485019460019092019101612e7e565b86831015612eba5784890151600019601f89166008021c191682555b600160028802018855505050505050505050565b60008154612edb81612d4d565b600182168015612ef25760018114612f0757612f37565b60ff1983168652811515820286019350612f37565b60008581526020902060005b83811015612f2f57815488820152600190910190602001612f13565b838801955050505b50505092915050565b6000612f4a825190565b612f58818560208601612679565b9290920192915050565b6000612f6e8285612ece565b91506125308284612f40565b634e487b7160e01b600052601160045260246000fd5b8082018082111561060757610607612f7a565b602e81526000602082017f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e81526d195c881bdc88185c1c1c9bdd995960921b60208201529150612d20565b6020808252810161060781612fa3565b826001600160401b038111156130165761301661254e565b6130208254612d4d565b61302b828285612dd3565b6000601f83116001811461305f57600084156130475750858201355b600019600886021c1981166002860217865550610fe5565b600085815260208120601f198616915b8281101561308f578885013582556020948501946001909201910161306f565b868310156130ab57600019601f88166008021c19858a01351682555b60016002880201885550505050505050505050565b602f81526000602082017f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636581526e103937b632b9903337b91039b2b63360891b60208201529150612d20565b60208082528101610607816130c0565b602981526000602082017f455243313135353a206163636f756e747320616e6420696473206c656e677468815268040dad2e6dac2e8c6d60bb1b60208201529150612d20565b602080825281016106078161311c565b634e487b7160e01b600052603260045260246000fd5b6000600019820361319b5761319b612f7a565b5060010190565b6014815260006020820173496e76616c6964536f757263654164647265737360601b815291505b5060200190565b60208082528101610607816131a2565b6015815260006020820174092dcecc2d8d2c8a0e4dee8dec6ded898cadccee8d605b1b815291506131c9565b60208082528101610607816131e0565b6000808335601e193685900301811261323757613237600080fd5b8084019250823591506001600160401b0382111561325757613257600080fd5b60208301925060018202360383131561327257613272600080fd5b509250929050565b6016815260006020820175496e76616c696450726f746f636f6c4164647265737360501b815291506131c9565b602080825281016106078161327a565b8181038181111561060757610607612f7a565b602181526000602082017f455243313135353a206d696e7420746f20746865207a65726f206164647265738152607360f81b60208201529150612d20565b60208082528101610607816132ca565b6040810161332682856124de565b61071a60208301846124de565b602881526000602082017f455243313135353a2069647320616e6420616d6f756e7473206c656e677468208152670dad2e6dac2e8c6d60c31b60208201529150612d20565b6020808252810161060781613333565b602581526000602082017f455243313135353a207472616e7366657220746f20746865207a65726f206164815264647265737360d81b60208201529150612d20565b6020808252810161060781613388565b602a81526000602082017f455243313135353a20696e73756666696369656e742062616c616e636520666f81526939103a3930b739b332b960b11b60208201529150612d20565b60208082528101610607816133da565b604080825281016134428185612a73565b905081810360208301526125308184612a73565b600061071a8284612f40565b600061346f8385846125d6565b50500190565b6000612530828486613462565b601b81526000602082017f496e76616c696420656e636f6465642064617461206c656e6774680000000000815291506131c9565b6020808252810161060781613482565b602981526000602082017f455243313135353a2073657474696e6720617070726f76616c20737461747573815268103337b91039b2b63360b91b60208201529150612d20565b60208082528101610607816134c6565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152601701600061354e8285612f40565b7001034b99036b4b9b9b4b733903937b6329607d1b8152915060118201612f6e565b602381526000602082017f455243313135353a206275726e2066726f6d20746865207a65726f206164647281526265737360e81b60208201529150612d20565b6020808252810161060781613570565b602481526000602082017f455243313135353a206275726e20616d6f756e7420657863656564732062616c815263616e636560e01b60208201529150612d20565b60208082528101610607816135c0565b60a0810161361f8288612be2565b61362c6020830187612be2565b61363960408301866124de565b61364660608301856124de565b8181036080830152613658818461269d565b979650505050505050565b8051610607816124f4565b60006020828403121561368357613683600080fd5b60006125308484613663565b600060033d1115612d7f5760046000803e5060005160e01c90565b600060443d10156136b85790565b60405160043d036004823e80513d60248201116001600160401b03821117156136e057505090565b80820180516001600160401b038111156136fb575050505090565b80602083010160043d03850181111561371657505050505090565b61372582602001850186612564565b5090949350505050565b603481526000602082017f455243313135353a207472616e7366657220746f206e6f6e2d455243313135358152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60208201529150612d20565b602080825281016106078161372f565b602881526000602082017f455243313135353a204552433131353552656365697665722072656a656374658152676420746f6b656e7360c01b60208201529150612d20565b6020808252810161060781613790565b60a081016137f38288612be2565b6138006020830187612be2565b81810360408301526138128186612a73565b905081810360608301526138268185612a73565b90508181036080830152613658818461269d565b600e81526000602082016d135d5cdd0818994818481b1a5cdd60921b815291506131c9565b602080825281016106078161383a565b600e81526000602082016d092dcecc2d8d2c840d8cadccee8d60931b815291506131c9565b602080825281016106078161386f565b634e487b7160e01b600052601260045260246000fd5b6000826138c9576138c96138a4565b500690565b60ff91821691908116908282039081111561060757610607612f7a565b60ff9182169190811690828202908116908181146123d7576123d7612f7a565b60ff91821691908116908282019081111561060757610607612f7a565b600082613937576139376138a4565b500490565b601381526000602082017224b73b30b634b2103ab4b73a10373ab6b132b960691b815291506131c9565b602080825281016106078161393c565b8181028082158382048514176123d7576123d7612f7a565b60008161399d5761399d612f7a565b506000190190565b60208082527f537472696e67733a20686578206c656e67746820696e73756666696369656e74910190815260006131c9565b60208082528101610607816139a5565b80825b6001851115613a2657808604811115613a0557613a05612f7a565b6001851615613a1357908102905b8002613a1f8560011c90565b94506139ea565b94509492505050565b600082613a3e5750600161071a565b81613a4b5750600061071a565b8160018114613a615760028114613a6b57613a98565b600191505061071a565b60ff841115613a7c57613a7c612f7a565b8360020a915084821115613a9257613a92612f7a565b5061071a565b5060208310610133831016604e8410600b8410161715613ac6575081810a838111156106f1576106f1612f7a565b613ad384848460016139e7565b92509050818404811115613ae957613ae9612f7a565b0292915050565b600061071a6000198484613a2f56fea49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a2646970667358221220895008a639f479ba9c2b847a5fafd75777b88d48a2aff0bd0b3ebc68b74f8a4264736f6c634300081100330000000000000000000000002472d36f785ca4cfad266269081cbb7fca8e31fe000000000000000000000000d960dd5d7aa13d9d523693f990a8c426ef18666000000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007fdde482956770d148e055f9d2893f84a1b6b00b000000000000000000000000000000000000000000000000000000000000005868747470733a2f2f676265742e6d7970696e6174612e636c6f75642f697066732f516d4e5362534c33356364756b5a4c4859374b53707152326a76744163716f746e4a3248784b6e59484864534c672f343532352e6769660000000000000000