22 txs
25 calls
constructor
constructor(address adminAddress_, address signerAddress_) payable
functions
admin
viewfunction admin() view returns (address)
FACTOR_DECIMAL
viewfunction FACTOR_DECIMAL() view returns (uint256)
offers
viewfunction offers(uint256) view returns (uint256 tokenId, uint256 startTime, uint256 endTime, uint256 price, address nftAddress, address buyer, address tokenAddress)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingOwner
viewfunction pendingOwner() view returns (address)
salePerUserPerToken
viewfunction salePerUserPerToken(address, address, uint256) view returns (uint256)
sales
viewfunction sales(uint256) view returns (uint256 tokenId, uint256 startTime, uint256 endTime, uint256 price, address nftAddress, address seller, address tokenAddress, bool isCollectionHolder)
signerAddress
viewfunction signerAddress() view returns (address)
acceptOffer
nonpayablefunction acceptOffer(uint256 id_, bool isCollectionHolder, bytes dataCollectionHolder, bytes dataTransfer)
acceptOwnership
nonpayablefunction acceptOwnership()
buy
payablefunction buy(uint256 id_, address to_, bytes data) payable
makeOffer
payablefunction makeOffer(tuple offer_, bytes data) payable
putOnSale
nonpayablefunction putOnSale(tuple sale_, bytes data)
removeFromSale
nonpayablefunction removeFromSale(uint256 id_)
removeOffer
nonpayablefunction removeOffer(uint256 id_)
renounceOwnership
nonpayablefunction renounceOwnership()
setAdmin
nonpayablefunction setAdmin(address adminAddress_)
setSignerAddress
nonpayablefunction setSignerAddress(address signerAddress_)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
AdminSet
event AdminSet(address indexed _admin)
Bought
event Bought(uint256 _id, uint256 _tokenId, address _nftAddress, address _to)
OfferAccepted
event OfferAccepted(uint256 _id)
OfferMade
event OfferMade(uint256 _offerId, (uint256 tokenId, uint256 startTime, uint256 endTime, uint256 price, address nftAddress, address buyer, address tokenAddress) offer)
OfferRemoved
event OfferRemoved(uint256 _id)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
PutOnSale
event PutOnSale(uint256 _saleId, (uint256 tokenId, uint256 startTime, uint256 endTime, uint256 price, address nftAddress, address seller, address tokenAddress, bool isCollectionHolder) sale)
RemovedFromSale
event RemovedFromSale(uint256 _id)
SignerAddressUpdated
event SignerAddressUpdated(address indexed _signerAddress)
Unpaused
event Unpaused(address account)
errors
No errors.
creation bytecode
0x60806040526040516200602f3803806200602f833981810160405281019062000029919062000346565b620000496200003d620001d260201b60201c565b620001da60201b60201c565b6000600160146101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620000d6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000cd90620003ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000148576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200013f90620003ee565b60405180910390fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000410565b600033905090565b600160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905562000215816200021860201b6200295d1760201c565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200030e82620002e1565b9050919050565b620003208162000301565b81146200032c57600080fd5b50565b600081519050620003408162000315565b92915050565b6000806040838503121562000360576200035f620002dc565b5b600062000370858286016200032f565b925050602062000383858286016200032f565b9150509250929050565b600082825260208201905092915050565b7f4d61726b6574706c6163653a207a65726f206164647265737300000000000000600082015250565b6000620003d66019836200038d565b9150620003e3826200039e565b602082019050919050565b600060208201905081810360008301526200040981620003c7565b9050919050565b615c0f80620004206000396000f3fe60806040526004361061011f5760003560e01c80638da5cb5b116100a0578063cb36ea3811610064578063cb36ea38146103a9578063e30c3978146103c5578063eab14f9d146103f0578063f2fde38b1461041b578063f851a440146104445761011f565b80638da5cb5b146102ab57806394ef2ecc146102d657806395a0f9c7146102ff578063aec4c7c914610328578063b5f522f7146103655761011f565b80635c975abb116100e75780635c975abb146101e6578063704b6c0214610211578063715018a61461023a57806379ba5097146102515780638a72ea6a146102685761011f565b8063046dc166146101245780631361a3b61461014d57806348c0c9da146101765780634f8b7caa1461019f5780635b7633d0146101bb575b600080fd5b34801561013057600080fd5b5061014b60048036038101906101469190613a84565b61046f565b005b34801561015957600080fd5b50610174600480360381019061016f9190613ae7565b61056d565b005b34801561018257600080fd5b5061019d60048036038101906101989190613d0c565b6108dc565b005b6101b960048036038101906101b49190613e22565b611057565b005b3480156101c757600080fd5b506101d0611664565b6040516101dd9190613e92565b60405180910390f35b3480156101f257600080fd5b506101fb61168a565b6040516102089190613ebc565b60405180910390f35b34801561021d57600080fd5b5061023860048036038101906102339190613a84565b6116a1565b005b34801561024657600080fd5b5061024f61179f565b005b34801561025d57600080fd5b506102666117b3565b005b34801561027457600080fd5b5061028f600480360381019061028a9190613ae7565b611840565b6040516102a29796959493929190613ee6565b60405180910390f35b3480156102b757600080fd5b506102c06118e2565b6040516102cd9190613e92565b60405180910390f35b3480156102e257600080fd5b506102fd60048036038101906102f89190613f55565b61190b565b005b34801561030b57600080fd5b5061032660048036038101906103219190613ae7565b611fdc565b005b34801561033457600080fd5b5061034f600480360381019061034a9190613ffc565b61229b565b60405161035c919061404f565b60405180910390f35b34801561037157600080fd5b5061038c60048036038101906103879190613ae7565b6122cd565b6040516103a098979695949392919061406a565b60405180910390f35b6103c360048036038101906103be91906140e8565b612382565b005b3480156103d157600080fd5b506103da61285a565b6040516103e79190613e92565b60405180910390f35b3480156103fc57600080fd5b50610405612884565b604051610412919061404f565b60405180910390f35b34801561042757600080fd5b50610442600480360381019061043d9190613a84565b61288a565b005b34801561045057600080fd5b50610459612937565b60405161046691906141bb565b60405180910390f35b610477612a21565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104dd90614233565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f67b0833b261bf8dee41032afa09cb41cf516d84e7ade2bd54dad0aa53ae956b760405160405180910390a250565b60006005600083815260200190815260200160002060405180610100016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160149054906101000a900460ff16151515158152505090503373ffffffffffffffffffffffffffffffffffffffff168160a0015173ffffffffffffffffffffffffffffffffffffffff1614610747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073e906142c5565b60405180910390fd5b600560008381526020019081526020016000206000808201600090556001820160009055600282016000905560038201600090556004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160146101000a81549060ff021916905550506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083600001518152602001908152602001600020819055507fc76903a01f28be0672203520b5bfb2cbb1e8df8c65020891d4a9cff0df01374d826040516108d0919061404f565b60405180910390a15050565b6108e4612a9f565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000015181526020019081526020016000205414610a7e576000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008560000151815260200190815260200160002054905042600560008381526020019081526020016000206002015410610a73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6a90614331565b60405180910390fd5b610a7c8161056d565b505b42836020015110158015610a99575082602001518360400151115b610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf906143c3565b60405180910390fd5b826080015173ffffffffffffffffffffffffffffffffffffffff16636352211e84600001516040518263ffffffff1660e01b8152600401610b19919061404f565b602060405180830381865afa158015610b36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5a91906143f8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbe90614471565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b6e750f8460c001516040518263ffffffff1660e01b8152600401610c269190613e92565b602060405180830381865afa158015610c43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6791906144a6565b610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d9061451f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168360a0015173ffffffffffffffffffffffffffffffffffffffff1614610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f9061458b565b60405180910390fd5b60001515836080015173ffffffffffffffffffffffffffffffffffffffff166364a389156040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8f91906144a6565b15151480610da55750600115158360e001511515145b15610e3257600080610e0484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086608001518760000151612ae9565b915091508185604001511115610e1f57818560400181815250505b808560e001901515908115158152505050505b610e3c6003612c9d565b6000610e486003612cb3565b905083600560008381526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160060160146101000a81548160ff02191690831515021790555090505080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000866080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086600001518152602001908152602001600020819055507fbb9fe2a8372a682cc2a239fbbb4cb1c1f2c948a9dbd5dad380898dac1e3143a1818560405161104992919061467a565b60405180910390a150505050565b61105f612a9f565b4283602001511015801561107a575082602001518360400151115b6110b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b090614716565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633b6e750f8460c001516040518263ffffffff1660e01b81526004016111189190613e92565b602060405180830381865afa158015611135573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115991906144a6565b611198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118f9061451f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16836080015173ffffffffffffffffffffffffffffffffffffffff160361120b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120290614233565b60405180910390fd5b60001515836080015173ffffffffffffffffffffffffffffffffffffffff166364a389156040518163ffffffff1660e01b8152600401602060405180830381865afa15801561125e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128291906144a6565b1515036112fe5760006112e283838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085608001518660000151612ae9565b50905080846040015111156112fc57808460400181815250505b505b6113086004612c9d565b60006113146004612cb3565b905083600660008381526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506000846060015190507fe01d1bc447d3d4385b6c1f04c13ec2329bd7b5435ebd4b70c0cbf23fbb0cb5ea82866040516114649291906147c4565b60405180910390a1600073ffffffffffffffffffffffffffffffffffffffff168560c0015173ffffffffffffffffffffffffffffffffffffffff16146115b857600034146114e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114de9061483a565b60405180910390fd5b60008560c0015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155c9190614893565b601261156891906148ef565b90506115b2333083600a61157c9190614a56565b856115879190614ad0565b8960c0015173ffffffffffffffffffffffffffffffffffffffff16612cc1909392919063ffffffff16565b5061165d565b803410156115fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f290614b4d565b60405180910390fd5b8034111561165c57600081346116119190614b6d565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611659573d6000803e3d6000fd5b50505b5b5050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160149054906101000a900460ff16905090565b6116a9612a21565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170f90614233565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f8fe72c3e0020beb3234e76ae6676fa576fbfcae600af1c4fea44784cf0db329c60405160405180910390a250565b6117a7612a21565b6117b16000612d4a565b565b60006117bd612d7b565b90508073ffffffffffffffffffffffffffffffffffffffff166117de61285a565b73ffffffffffffffffffffffffffffffffffffffff1614611834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182b90614c13565b60405180910390fd5b61183d81612d4a565b50565b60066020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905087565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611913612a9f565b6000600660008881526020019081526020016000206040518060e0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505090506000816020015103611aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9d90614c7f565b60405180910390fd5b42816020015111158015611abd5750428160400151115b611afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af390614d11565b60405180910390fd5b806080015173ffffffffffffffffffffffffffffffffffffffff16636352211e82600001516040518263ffffffff1660e01b8152600401611b3d919061404f565b602060405180830381865afa158015611b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7e91906143f8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be290614da3565b60405180910390fd5b600660008881526020019081526020016000206000808201600090556001820160009055600282016000905560038201600090556004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836000015181526020019081526020016000205490506000811115611e9457600560008281526020019081526020016000206000808201600090556001820160009055600282016000905560038201600090556004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160146101000a81549060ff021916905550506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000846080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084600001518152602001908152602001600020819055505b6000826060015190507f9bd6b4fd288008520fd788a93304e5688a401aea817ea8140ecf1fb8648f319189604051611ecc919061404f565b60405180910390a18715611f3b576000611f3388888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085608001518660000151612ae9565b915050809850505b611f52818460800151338660c0015160018d612d83565b826080015173ffffffffffffffffffffffffffffffffffffffff1663b88d4fde338560a00151866000015189896040518663ffffffff1660e01b8152600401611f9f959493929190614e10565b600060405180830381600087803b158015611fb957600080fd5b505af1158015611fcd573d6000803e3d6000fd5b50505050505050505050505050565b6000600660008381526020019081526020016000206040518060e0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505090503373ffffffffffffffffffffffffffffffffffffffff168160a0015173ffffffffffffffffffffffffffffffffffffffff161461219a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219190614eaa565b60405180910390fd5b600660008381526020019081526020016000206000808201600090556001820160009055600282016000905560038201600090556004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550506000816060015190507fe78251393d13c4f887458774ea505a80414b5608a0c963bb2e75da45811919f18360405161227d919061404f565b60405180910390a1612296600133838560c0015161316c565b505050565b600760205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b60056020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160149054906101000a900460ff16905088565b61238a612a9f565b60006005600086815260200190815260200160002060405180610100016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160149054906101000a900460ff16151515158152505090506000816020015103612539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253090614f16565b60405180910390fd5b428160200151111580156125505750428160400151115b61258f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258690614d11565b60405180910390fd5b600560008681526020019081526020016000206000808201600090556001820160009055600282016000905560038201600090556004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160146101000a81549060ff021916905550506000600760008360a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008360000151815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168160c0015173ffffffffffffffffffffffffffffffffffffffff160361276c578060600151341461276b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276290614fa8565b60405180910390fd5b5b7f4ebd6ef39c1235e69ba7dedf24ad43bdeb57deb289d98473668070d6ca9b685e8582600001518360800151876040516127a99493929190614fc8565b60405180910390a16127d4816060015182608001518360a001518460c0015160008660e00151612d83565b806080015173ffffffffffffffffffffffffffffffffffffffff1663b88d4fde8260a0015186846000015187876040518663ffffffff1660e01b8152600401612821959493929190614e10565b600060405180830381600087803b15801561283b57600080fd5b505af115801561284f573d6000803e3d6000fd5b505050505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61271081565b612892612a21565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff166128f26118e2565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612a29612d7b565b73ffffffffffffffffffffffffffffffffffffffff16612a476118e2565b73ffffffffffffffffffffffffffffffffffffffff1614612a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9490615059565b60405180910390fd5b565b612aa761168a565b15612ae7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ade906150c5565b60405180910390fd5b565b6000806000855103612b30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2790615131565b60405180910390fd5b600080600080600089806020019051810190612b4c919061523f565b9450945094509450945042841015612b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b9090615322565b60405180910390fd5b600881604051612ba99190615389565b908152602001604051809103902060009054906101000a900460ff1615612c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bfc90615412565b60405180910390fd5b612c148585858c8c878761334e565b612c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c4a9061547e565b60405180910390fd5b6001600882604051612c659190615389565b908152602001604051809103902060006101000a81548160ff0219169083151502179055508482965096505050505050935093915050565b6001816000016000828254019250508190555050565b600081600001549050919050565b612d44846323b872dd60e01b858585604051602401612ce29392919061549e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613401565b50505050565b600160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055612d788161295d565b50565b600033905090565b6000806000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639af1d35a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612df5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e1991906154d5565b9050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3bcbf636040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eac91906144a6565b15612fd6576000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634cf088d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4491906143f8565b90506000808273ffffffffffffffffffffffffffffffffffffffff16632859ab9e8b896040518363ffffffff1660e01b8152600401612f84929190615502565b6040805180830381865afa158015612fa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fc4919061552b565b915091508015612fd2578193505b5050505b8773ffffffffffffffffffffffffffffffffffffffff16634d47732a6040518163ffffffff1660e01b81526004016040805180830381865afa158015613020573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613044919061556b565b8093508194505050600080612710838c61305e91906155ab565b6130689190614ad0565b9050808b6130769190614b6d565b9a50612710848c61308791906155ab565b6130919190614ad0565b915061312f87600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166361d027b36040518163ffffffff1660e01b8152600401602060405180830381865afa158015613104573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061312891906143f8565b838b61316c565b61313b8786848b61316c565b818b6131479190614b6d565b9a5060008b111561315f5761315e878a8d8b61316c565b5b5050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461330057600081905060008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132169190614893565b601261322291906148ef565b905085156132715761326c8582600a61323b9190614a56565b866132469190614ad0565b8473ffffffffffffffffffffffffffffffffffffffff166134c99092919063ffffffff16565b6132f9565b600034146132b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132ab90615651565b60405180910390fd5b6132f8338683600a6132c69190614a56565b876132d19190614ad0565b8573ffffffffffffffffffffffffffffffffffffffff16612cc1909392919063ffffffff16565b5b5050613348565b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015613346573d6000803e3d6000fd5b505b50505050565b60008061338e8989898989893330604051602001613373989796959493929190615722565b6040516020818303038152906040528051906020012061354f565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166133dc848361358590919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1614915050979650505050505050565b6000613463826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166135ac9092919063ffffffff16565b905060008151148061348557508080602001905181019061348491906144a6565b5b6134c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134bb90615826565b60405180910390fd5b505050565b61354a8363a9059cbb60e01b84846040516024016134e8929190615846565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613401565b505050565b60007f19457468657265756d205369676e6564204d6573736167653a0a33320000000060005281601c52603c6000209050919050565b600080600061359485856135c4565b915091506135a181613615565b819250505092915050565b60606135bb848460008561377b565b90509392505050565b60008060418351036136055760008060006020860151925060408601519150606086015160001a90506135f987828585613848565b9450945050505061360e565b60006002915091505b9250929050565b600060048111156136295761362861586f565b5b81600481111561363c5761363b61586f565b5b031561377857600160048111156136565761365561586f565b5b8160048111156136695761366861586f565b5b036136a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136a0906158ea565b60405180910390fd5b600260048111156136bd576136bc61586f565b5b8160048111156136d0576136cf61586f565b5b03613710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161370790615956565b60405180910390fd5b600360048111156137245761372361586f565b5b8160048111156137375761373661586f565b5b03613777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161376e906159e8565b60405180910390fd5b5b50565b6060824710156137c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137b790615a7a565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516137e99190615389565b60006040518083038185875af1925050503d8060008114613826576040519150601f19603f3d011682016040523d82523d6000602084013e61382b565b606091505b509150915061383c8783838761392a565b92505050949350505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115613883576000600391509150613921565b6000600187878787604051600081526020016040526040516138a89493929190615ac2565b6020604051602081039080840390855afa1580156138ca573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361391857600060019250925050613921565b80600092509250505b94509492505050565b6060831561398c576000835103613984576139448561399f565b613983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161397a90615b53565b60405180910390fd5b5b829050613997565b61399683836139c2565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156139d55781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a099190615bb7565b60405180910390fd5b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a5182613a26565b9050919050565b613a6181613a46565b8114613a6c57600080fd5b50565b600081359050613a7e81613a58565b92915050565b600060208284031215613a9a57613a99613a1c565b5b6000613aa884828501613a6f565b91505092915050565b6000819050919050565b613ac481613ab1565b8114613acf57600080fd5b50565b600081359050613ae181613abb565b92915050565b600060208284031215613afd57613afc613a1c565b5b6000613b0b84828501613ad2565b91505092915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613b6282613b19565b810181811067ffffffffffffffff82111715613b8157613b80613b2a565b5b80604052505050565b6000613b94613a12565b9050613ba08282613b59565b919050565b60008115159050919050565b613bba81613ba5565b8114613bc557600080fd5b50565b600081359050613bd781613bb1565b92915050565b60006101008284031215613bf457613bf3613b14565b5b613bff610100613b8a565b90506000613c0f84828501613ad2565b6000830152506020613c2384828501613ad2565b6020830152506040613c3784828501613ad2565b6040830152506060613c4b84828501613ad2565b6060830152506080613c5f84828501613a6f565b60808301525060a0613c7384828501613a6f565b60a08301525060c0613c8784828501613a6f565b60c08301525060e0613c9b84828501613bc8565b60e08301525092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613ccc57613ccb613ca7565b5b8235905067ffffffffffffffff811115613ce957613ce8613cac565b5b602083019150836001820283011115613d0557613d04613cb1565b5b9250929050565b60008060006101208486031215613d2657613d25613a1c565b5b6000613d3486828701613bdd565b93505061010084013567ffffffffffffffff811115613d5657613d55613a21565b5b613d6286828701613cb6565b92509250509250925092565b600060e08284031215613d8457613d83613b14565b5b613d8e60e0613b8a565b90506000613d9e84828501613ad2565b6000830152506020613db284828501613ad2565b6020830152506040613dc684828501613ad2565b6040830152506060613dda84828501613ad2565b6060830152506080613dee84828501613a6f565b60808301525060a0613e0284828501613a6f565b60a08301525060c0613e1684828501613a6f565b60c08301525092915050565b60008060006101008486031215613e3c57613e3b613a1c565b5b6000613e4a86828701613d6e565b93505060e084013567ffffffffffffffff811115613e6b57613e6a613a21565b5b613e7786828701613cb6565b92509250509250925092565b613e8c81613a46565b82525050565b6000602082019050613ea76000830184613e83565b92915050565b613eb681613ba5565b82525050565b6000602082019050613ed16000830184613ead565b92915050565b613ee081613ab1565b82525050565b600060e082019050613efb600083018a613ed7565b613f086020830189613ed7565b613f156040830188613ed7565b613f226060830187613ed7565b613f2f6080830186613e83565b613f3c60a0830185613e83565b613f4960c0830184613e83565b98975050505050505050565b60008060008060008060808789031215613f7257613f71613a1c565b5b6000613f8089828a01613ad2565b9650506020613f9189828a01613bc8565b955050604087013567ffffffffffffffff811115613fb257613fb1613a21565b5b613fbe89828a01613cb6565b9450945050606087013567ffffffffffffffff811115613fe157613fe0613a21565b5b613fed89828a01613cb6565b92509250509295509295509295565b60008060006060848603121561401557614014613a1c565b5b600061402386828701613a6f565b935050602061403486828701613a6f565b925050604061404586828701613ad2565b9150509250925092565b60006020820190506140646000830184613ed7565b92915050565b600061010082019050614080600083018b613ed7565b61408d602083018a613ed7565b61409a6040830189613ed7565b6140a76060830188613ed7565b6140b46080830187613e83565b6140c160a0830186613e83565b6140ce60c0830185613e83565b6140db60e0830184613ead565b9998505050505050505050565b6000806000806060858703121561410257614101613a1c565b5b600061411087828801613ad2565b945050602061412187828801613a6f565b935050604085013567ffffffffffffffff81111561414257614141613a21565b5b61414e87828801613cb6565b925092505092959194509250565b6000819050919050565b600061418161417c61417784613a26565b61415c565b613a26565b9050919050565b600061419382614166565b9050919050565b60006141a582614188565b9050919050565b6141b58161419a565b82525050565b60006020820190506141d060008301846141ac565b92915050565b600082825260208201905092915050565b7f4d61726b6574706c6163653a207a65726f206164647265737300000000000000600082015250565b600061421d6019836141d6565b9150614228826141e7565b602082019050919050565b6000602082019050818103600083015261424c81614210565b9050919050565b7f4d61726b6574706c6163653a2063616c6c6572206973206e6f7420746865207360008201527f656c6c6572000000000000000000000000000000000000000000000000000000602082015250565b60006142af6025836141d6565b91506142ba82614253565b604082019050919050565b600060208201905081810360008301526142de816142a2565b9050919050565b7f4d61726b6574706c6163653a2073616c6520616c726561647920657869737473600082015250565b600061431b6020836141d6565b9150614326826142e5565b602082019050919050565b6000602082019050818103600083015261434a8161430e565b9050919050565b7f4d61726b6574706c6163653a2073616c652074696d657320646f6e2774206d6160008201527f7463680000000000000000000000000000000000000000000000000000000000602082015250565b60006143ad6023836141d6565b91506143b882614351565b604082019050919050565b600060208201905081810360008301526143dc816143a0565b9050919050565b6000815190506143f281613a58565b92915050565b60006020828403121561440e5761440d613a1c565b5b600061441c848285016143e3565b91505092915050565b7f4d61726b6574706c6163653a206e6f74206f776e657200000000000000000000600082015250565b600061445b6016836141d6565b915061446682614425565b602082019050919050565b6000602082019050818103600083015261448a8161444e565b9050919050565b6000815190506144a081613bb1565b92915050565b6000602082840312156144bc576144bb613a1c565b5b60006144ca84828501614491565b91505092915050565b7f4d61726b6574706c6163653a20746f6b656e206e6f7420616363657074656400600082015250565b6000614509601f836141d6565b9150614514826144d3565b602082019050919050565b60006020820190508181036000830152614538816144fc565b9050919050565b7f4d61726b6574706c6163653a206e6f74207468652073656c6c65720000000000600082015250565b6000614575601b836141d6565b91506145808261453f565b602082019050919050565b600060208201905081810360008301526145a481614568565b9050919050565b6145b481613ab1565b82525050565b6145c381613a46565b82525050565b6145d281613ba5565b82525050565b610100820160008201516145ef60008501826145ab565b50602082015161460260208501826145ab565b50604082015161461560408501826145ab565b50606082015161462860608501826145ab565b50608082015161463b60808501826145ba565b5060a082015161464e60a08501826145ba565b5060c082015161466160c08501826145ba565b5060e082015161467460e08501826145c9565b50505050565b6000610120820190506146906000830185613ed7565b61469d60208301846145d8565b9392505050565b7f4d61726b6574706c6163653a206f666665722074696d657320646f6e2774206d60008201527f6174636800000000000000000000000000000000000000000000000000000000602082015250565b60006147006024836141d6565b915061470b826146a4565b604082019050919050565b6000602082019050818103600083015261472f816146f3565b9050919050565b60e08201600082015161474c60008501826145ab565b50602082015161475f60208501826145ab565b50604082015161477260408501826145ab565b50606082015161478560608501826145ab565b50608082015161479860808501826145ba565b5060a08201516147ab60a08501826145ba565b5060c08201516147be60c08501826145ba565b50505050565b6000610100820190506147da6000830185613ed7565b6147e76020830184614736565b9392505050565b7f4d61726b6574706c6163653a2076616c7565206973206e6f74207a65726f0000600082015250565b6000614824601e836141d6565b915061482f826147ee565b602082019050919050565b6000602082019050818103600083015261485381614817565b9050919050565b600060ff82169050919050565b6148708161485a565b811461487b57600080fd5b50565b60008151905061488d81614867565b92915050565b6000602082840312156148a9576148a8613a1c565b5b60006148b78482850161487e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006148fa8261485a565b91506149058361485a565b925082821015614918576149176148c0565b5b828203905092915050565b60008160011c9050919050565b6000808291508390505b600185111561497a57808604811115614956576149556148c0565b5b60018516156149655780820291505b808102905061497385614923565b945061493a565b94509492505050565b6000826149935760019050614a4f565b816149a15760009050614a4f565b81600181146149b757600281146149c1576149f0565b6001915050614a4f565b60ff8411156149d3576149d26148c0565b5b8360020a9150848211156149ea576149e96148c0565b5b50614a4f565b5060208310610133831016604e8410600b8410161715614a255782820a905083811115614a2057614a1f6148c0565b5b614a4f565b614a328484846001614930565b92509050818404811115614a4957614a486148c0565b5b81810290505b9392505050565b6000614a6182613ab1565b9150614a6c8361485a565b9250614a997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614983565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614adb82613ab1565b9150614ae683613ab1565b925082614af657614af5614aa1565b5b828204905092915050565b7f4d61726b6574706c6163653a2076616c7565206973206e6f7420656e6f756768600082015250565b6000614b376020836141d6565b9150614b4282614b01565b602082019050919050565b60006020820190508181036000830152614b6681614b2a565b9050919050565b6000614b7882613ab1565b9150614b8383613ab1565b925082821015614b9657614b956148c0565b5b828203905092915050565b7f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060008201527f6e6577206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614bfd6029836141d6565b9150614c0882614ba1565b604082019050919050565b60006020820190508181036000830152614c2c81614bf0565b9050919050565b7f4d61726b6574706c6163653a206f66666572206e6f7420657869737473000000600082015250565b6000614c69601d836141d6565b9150614c7482614c33565b602082019050919050565b60006020820190508181036000830152614c9881614c5c565b9050919050565b7f4d61726b6574706c6163653a206e6f7420696e207468652074696d652072616e60008201527f6765000000000000000000000000000000000000000000000000000000000000602082015250565b6000614cfb6022836141d6565b9150614d0682614c9f565b604082019050919050565b60006020820190508181036000830152614d2a81614cee565b9050919050565b7f4d61726b6574706c6163653a206d73672e73656e646572206973206e6f74207460008201527f68652073656c6c65720000000000000000000000000000000000000000000000602082015250565b6000614d8d6029836141d6565b9150614d9882614d31565b604082019050919050565b60006020820190508181036000830152614dbc81614d80565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b6000614def8385614dc3565b9350614dfc838584614dd4565b614e0583613b19565b840190509392505050565b6000608082019050614e256000830188613e83565b614e326020830187613e83565b614e3f6040830186613ed7565b8181036060830152614e52818486614de3565b90509695505050505050565b7f4d61726b6574706c6163653a206e6f7420746865206f66666572206d616b6572600082015250565b6000614e946020836141d6565b9150614e9f82614e5e565b602082019050919050565b60006020820190508181036000830152614ec381614e87565b9050919050565b7f4d61726b6574706c6163653a206e6f74206f6e2073616c650000000000000000600082015250565b6000614f006018836141d6565b9150614f0b82614eca565b602082019050919050565b60006020820190508181036000830152614f2f81614ef3565b9050919050565b7f4d61726b6574706c6163653a2056616c75652073656e74206973206e6f74206560008201527f6e6f756768000000000000000000000000000000000000000000000000000000602082015250565b6000614f926025836141d6565b9150614f9d82614f36565b604082019050919050565b60006020820190508181036000830152614fc181614f85565b9050919050565b6000608082019050614fdd6000830187613ed7565b614fea6020830186613ed7565b614ff76040830185613e83565b6150046060830184613e83565b95945050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006150436020836141d6565b915061504e8261500d565b602082019050919050565b6000602082019050818103600083015261507281615036565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006150af6010836141d6565b91506150ba82615079565b602082019050919050565b600060208201905081810360008301526150de816150a2565b9050919050565b7f4d61726b6574706c6163653a206461746120697320656d707479000000000000600082015250565b600061511b601a836141d6565b9150615126826150e5565b602082019050919050565b6000602082019050818103600083015261514a8161510e565b9050919050565b60008151905061516081613abb565b92915050565b600080fd5b600067ffffffffffffffff82111561518657615185613b2a565b5b61518f82613b19565b9050602081019050919050565b60005b838110156151ba57808201518184015260208101905061519f565b838111156151c9576000848401525b50505050565b60006151e26151dd8461516b565b613b8a565b9050828152602081018484840111156151fe576151fd615166565b5b61520984828561519c565b509392505050565b600082601f83011261522657615225613ca7565b5b81516152368482602086016151cf565b91505092915050565b600080600080600060a0868803121561525b5761525a613a1c565b5b600061526988828901615151565b955050602061527a88828901615151565b945050604061528b88828901615151565b935050606061529c88828901614491565b925050608086015167ffffffffffffffff8111156152bd576152bc613a21565b5b6152c988828901615211565b9150509295509295909350565b7f4d61726b6574706c6163653a207369676e617475726520657870697265640000600082015250565b600061530c601e836141d6565b9150615317826152d6565b602082019050919050565b6000602082019050818103600083015261533b816152ff565b9050919050565b600081519050919050565b600081905092915050565b600061536382615342565b61536d818561534d565b935061537d81856020860161519c565b80840191505092915050565b60006153958284615358565b915081905092915050565b7f4d61726b6574706c6163653a207369676e617475726520616c7265616479207560008201527f7365640000000000000000000000000000000000000000000000000000000000602082015250565b60006153fc6023836141d6565b9150615407826153a0565b604082019050919050565b6000602082019050818103600083015261542b816153ef565b9050919050565b7f4d61726b6574706c6163653a20696e76616c6964207369676e61747572650000600082015250565b6000615468601e836141d6565b915061547382615432565b602082019050919050565b600060208201905081810360008301526154978161545b565b9050919050565b60006060820190506154b36000830186613e83565b6154c06020830185613e83565b6154cd6040830184613ed7565b949350505050565b6000602082840312156154eb576154ea613a1c565b5b60006154f984828501615151565b91505092915050565b60006040820190506155176000830185613e83565b6155246020830184613ead565b9392505050565b6000806040838503121561554257615541613a1c565b5b600061555085828601615151565b925050602061556185828601614491565b9150509250929050565b6000806040838503121561558257615581613a1c565b5b6000615590858286016143e3565b92505060206155a185828601615151565b9150509250929050565b60006155b682613ab1565b91506155c183613ab1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156155fa576155f96148c0565b5b828202905092915050565b7f4d61726b6574706c6163653a2056616c75652073656e74206973206e6f742030600082015250565b600061563b6020836141d6565b915061564682615605565b602082019050919050565b6000602082019050818103600083015261566a8161562e565b9050919050565b6000819050919050565b61568c61568782613ab1565b615671565b82525050565b60008160601b9050919050565b60006156aa82615692565b9050919050565b60006156bc8261569f565b9050919050565b6156d46156cf82613a46565b6156b1565b82525050565b60008160f81b9050919050565b60006156f2826156da565b9050919050565b6000615704826156e7565b9050919050565b61571c61571782613ba5565b6156f9565b82525050565b600061572e828b61567b565b60208201915061573e828a61567b565b60208201915061574e828961567b565b60208201915061575e82886156c3565b60148201915061576e828761567b565b60208201915061577e828661570b565b60018201915061578e82856156c3565b60148201915061579e82846156c3565b6014820191508190509998505050505050505050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000615810602a836141d6565b915061581b826157b4565b604082019050919050565b6000602082019050818103600083015261583f81615803565b9050919050565b600060408201905061585b6000830185613e83565b6158686020830184613ed7565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006158d46018836141d6565b91506158df8261589e565b602082019050919050565b60006020820190508181036000830152615903816158c7565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000615940601f836141d6565b915061594b8261590a565b602082019050919050565b6000602082019050818103600083015261596f81615933565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006159d26022836141d6565b91506159dd82615976565b604082019050919050565b60006020820190508181036000830152615a01816159c5565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000615a646026836141d6565b9150615a6f82615a08565b604082019050919050565b60006020820190508181036000830152615a9381615a57565b9050919050565b6000819050919050565b615aad81615a9a565b82525050565b615abc8161485a565b82525050565b6000608082019050615ad76000830187615aa4565b615ae46020830186615ab3565b615af16040830185615aa4565b615afe6060830184615aa4565b95945050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000615b3d601d836141d6565b9150615b4882615b07565b602082019050919050565b60006020820190508181036000830152615b6c81615b30565b9050919050565b600081519050919050565b6000615b8982615b73565b615b9381856141d6565b9350615ba381856020860161519c565b615bac81613b19565b840191505092915050565b60006020820190508181036000830152615bd18184615b7e565b90509291505056fea26469706673582212207ca737a10e18fc5cfd150cae10cd56e8b622cc09cf5ad6da68692dcb7c1fd56464736f6c634300080f0033000000000000000000000000b628d2272498d394ec956d0d3579976e3ff5fa1e000000000000000000000000ea4febb9fac2ee42167f41e05bce3a4f636ce494