0 txs
1 call
constructor
constructor(address _creator, uint16 redemptionRate, uint16 redemptionMax)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
checkClaim
viewfunction checkClaim(uint256 _tokenID) view returns (bool)
creator
viewfunction creator() view returns (address)
forge_start
viewfunction forge_start() view returns (uint256)
getAdmins
viewfunction getAdmins() view returns (address[] admins)
how_long_more
viewfunction how_long_more() view returns (uint256 Days, uint256 Hours, uint256 Minutes, uint256 Seconds)
isAdmin
viewfunction isAdmin(address admin) view returns (bool)
mintedTokens
viewfunction mintedTokens() view returns (uint256[])
mintNumber
viewfunction mintNumber(uint256 tokenId) view returns (uint256)
owner
viewfunction owner() view returns (address)
redeemable
viewfunction redeemable(address contract_, uint256 tokenId) view returns (bool)
redemptionMax
viewfunction redemptionMax() view returns (uint16)
redemptionRate
viewfunction redemptionRate() view returns (uint16)
redemptionRemaining
viewfunction redemptionRemaining() view returns (uint16)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
surprise
viewfunction surprise() view returns (string)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(address creator, uint256 tokenId) view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
approveAdmin
nonpayablefunction approveAdmin(address admin)
approveTransfer
nonpayablefunction approveTransfer(address from, address to, uint256 tokenId) returns (bool)
drain
nonpayablefunction drain(address _token)
EmergencyAirdrop
nonpayablefunction EmergencyAirdrop(address _to)
forge
nonpayablefunction forge(uint16 _checkToken, uint16 _checkToken2, uint16 _burnToken)
onERC721Received
nonpayablefunction onERC721Received(address, address from, uint256 tokenId, bytes data) returns (bytes4)
recoverERC721
nonpayablefunction recoverERC721(address contract_, uint256 tokenId)
renounceOwnership
nonpayablefunction renounceOwnership()
retrieve721
nonpayablefunction retrieve721(address _tracker, uint256 _id)
revokeAdmin
nonpayablefunction revokeAdmin(address admin)
setApproveTransfer
nonpayablefunction setApproveTransfer(address creator, bool enabled)
setERC721Recoverable
nonpayablefunction setERC721Recoverable(address contract_, uint256 tokenId, address recoverer)
setup
nonpayablefunction setup()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateApprovedContracts
nonpayablefunction updateApprovedContracts(address[] contracts, bool[] approved)
updateApprovedTokenRanges
nonpayablefunction updateApprovedTokenRanges(address contract_, uint256[] minTokenIds, uint256[] maxTokenIds)
updateApprovedTokens
nonpayablefunction updateApprovedTokens(address contract_, uint256[] tokenIds, bool[] approved)
events
AdminApproved
event AdminApproved(address indexed account, address indexed sender)
AdminRevoked
event AdminRevoked(address indexed account, address indexed sender)
airDropTo
event airDropTo(address _receiver)
forgeWith
event forgeWith(uint16 _checkToken, uint16 _checkToken2, uint16 _burnToken)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
UpdateApprovedContracts
event UpdateApprovedContracts(address[] contracts, bool[] approved)
UpdateApprovedTokenRanges
event UpdateApprovedTokenRanges(address contract_, uint256[] minTokenIds, uint256[] maxTokenIds)
UpdateApprovedTokens
event UpdateApprovedTokens(address contract_, uint256[] tokenIds, bool[] approved)
errors
No errors.
creation bytecode
0x60a06040526040518060600160405280603a815260200162006979603a9139601090805190602001906200003592919062000578565b506361548d806011556040518060600160405280602381526020016200695660239139601290805190602001906200006f92919062000578565b503480156200007d57600080fd5b50604051620069b3380380620069b38339818101604052810190620000a391906200066d565b828084848482828260016000819055506000620000c5620003a660201b60201c565b905080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200019b837f9088c20700000000000000000000000000000000000000000000000000000000620003ae60201b620032ba1760201c565b80620001c15750620001c08363478c853060e01b620003ae60201b620032ba1760201c565b5b62000203576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001fa90620007fb565b60405180910390fd5b8161ffff1660808161ffff1660f01b8152505080600860146101000a81548161ffff021916908361ffff16021790555082600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050620002b1817f9088c20700000000000000000000000000000000000000000000000000000000620003ae60201b620032ba1760201c565b80620002d75750620002d68163478c853060e01b620003ae60201b620032ba1760201c565b5b62000319576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200031090620007fb565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505082600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620009a7565b600033905090565b6000620003c183620003e460201b60201c565b8015620003dc5750620003db83836200044260201b60201c565b5b905092915050565b600062000418827f01ffc9a7000000000000000000000000000000000000000000000000000000006200044260201b60201c565b80156200043b5750620004398263ffffffff60e01b6200044260201b60201c565b155b9050919050565b6000806301ffc9a760e01b83604051602401620004609190620007de565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000808573ffffffffffffffffffffffffffffffffffffffff1661753084604051620004ec9190620007c5565b6000604051808303818686fa925050503d80600081146200052a576040519150601f19603f3d011682016040523d82523d6000602084013e6200052f565b606091505b50915091506020815110156200054c576000935050505062000572565b8180156200056c5750808060200190518101906200056b9190620006c3565b5b93505050505b92915050565b8280546200058690620008f4565b90600052602060002090601f016020900481019282620005aa5760008555620005f6565b82601f10620005c557805160ff1916838001178555620005f6565b82800160010185558215620005f6579182015b82811115620005f5578251825591602001919060010190620005d8565b5b50905062000605919062000609565b5090565b5b80821115620006245760008160009055506001016200060a565b5090565b600081519050620006398162000959565b92915050565b600081519050620006508162000973565b92915050565b60008151905062000667816200098d565b92915050565b6000806000606084860312156200068357600080fd5b6000620006938682870162000628565b9350506020620006a68682870162000656565b9250506040620006b98682870162000656565b9150509250925092565b600060208284031215620006d657600080fd5b6000620006e6848285016200063f565b91505092915050565b620006fa8162000864565b82525050565b60006200070d826200081d565b62000719818562000828565b93506200072b818560208601620008be565b80840191505092915050565b60006200074660418362000833565b91507f52656465656d3a204d696e74696e672072657761726420636f6e74726163742060008301527f6d75737420696d706c656d656e74204945524337323143726561746f72436f7260208301527f65000000000000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000620007d3828462000700565b915081905092915050565b6000602082019050620007f56000830184620006ef565b92915050565b60006020820190508181036000830152620008168162000737565b9050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600062000851826200089e565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b83811015620008de578082015181840152602081019050620008c1565b83811115620008ee576000848401525b50505050565b600060028204905060018216806200090d57607f821691505b602082108114156200092457620009236200092a565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b620009648162000844565b81146200097057600080fd5b50565b6200097e8162000858565b81146200098a57600080fd5b50565b620009988162000890565b8114620009a457600080fd5b50565b60805160f01c615f90620009c660003960006120a00152615f906000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80636d73e66911610125578063ac52e644116100ad578063c87b56dd1161007c578063c87b56dd14610618578063e9dc637514610648578063ece5313214610678578063f2fde38b14610694578063f79f20b5146106b05761021c565b8063ac52e644146105b8578063ba0bba40146105d4578063bd3edb5e146105de578063c344eb96146105fc5761021c565b806382580805116100f457806382580805146105125780638d75fe05146105425780638da5cb5b14610560578063a5b3abfb1461057e578063ac4cc1481461059a5761021c565b80636d73e669146104a057806370a08231146104bc578063715018a6146104ec578063819d4cc6146104f65761021c565b80632af8a413116101a857806348efee0a1161017757806348efee0a146103fc578063540385a3146104185780635873ce771461043657806367627b62146104545780636c2ab4ba146104845761021c565b80632af8a413146103765780632d345670146103925780632f745c59146103ae57806331ae450b146103de5761021c565b8063131616ef116101ef578063131616ef146102ae578063150b7a02146102ca5780631681d158146102fa5780631b95a2271461032a57806324d7806c146103465761021c565b806301ffc9a71461022157806302d05d3f1461025157806304c9fdb01461026f57806310e33de31461028d575b600080fd5b61023b600480360381019061023691906148c1565b6106e0565b604051610248919061558d565b60405180910390f35b61025961076a565b60405161026691906153d6565b60405180910390f35b610277610790565b60405161028491906158e5565b60405180910390f35b6102956107c3565b6040516102a5949392919061596d565b60405180910390f35b6102c860048036038101906102c39190614913565b610886565b005b6102e460048036038101906102df91906145e7565b61109c565b6040516102f191906155a8565b60405180910390f35b610314600480360381019061030f9190614962565b611107565b604051610321919061558d565b60405180910390f35b610344600480360381019061033f9190614765565b611175565b005b610360600480360381019061035b9190614546565b6112dd565b60405161036d919061558d565b60405180910390f35b610390600480360381019061038b91906146e6565b611337565b005b6103ac60048036038101906103a79190614546565b61196b565b005b6103c860048036038101906103c391906147a1565b611a73565b6040516103d59190615952565b60405180910390f35b6103e6611b4f565b6040516103f39190615512565b60405180910390f35b61041660048036038101906104119190614667565b611c7d565b005b61042061209c565b60405161042d91906158e5565b60405180910390f35b61043e6120c4565b60405161044b9190615952565b60405180910390f35b61046e600480360381019061046991906147a1565b6120ca565b60405161047b919061558d565b60405180910390f35b61049e600480360381019061049991906147dd565b612402565b005b6104ba60048036038101906104b59190614546565b612497565b005b6104d660048036038101906104d19190614546565b61259e565b6040516104e39190615952565b60405180910390f35b6104f46125e7565b005b610510600480360381019061050b91906147a1565b612724565b005b61052c60048036038101906105279190614598565b612728565b604051610539919061558d565b60405180910390f35b61054a6128b7565b604051610557919061556b565b60405180910390f35b61056861290f565b60405161057591906153d6565b60405180910390f35b610598600480360381019061059391906147a1565b612939565b005b6105a2612a28565b6040516105af91906158e5565b60405180910390f35b6105d260048036038101906105cd919061482c565b612a40565b005b6105dc612c48565b005b6105e6612cce565b6040516105f391906155c3565b60405180910390f35b61061660048036038101906106119190614546565b612d5c565b005b610632600480360381019061062d9190614962565b612e1b565b60405161063f91906155c3565b60405180910390f35b610662600480360381019061065d91906147a1565b612eb9565b60405161066f91906155c3565b60405180910390f35b610692600480360381019061068d91906148ea565b612ecc565b005b6106ae60048036038101906106a99190614546565b6130f1565b005b6106ca60048036038101906106c59190614962565b61329d565b6040516106d79190615952565b60405180910390f35b60007fe9dc6375000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107535750610752826132df565b5b806107635750610762826132df565b5b9050919050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860169054906101000a900461ffff16600860149054906101000a900461ffff166107be9190615beb565b905090565b600080600080601154421061080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080490615885565b60405180910390fd5b60004260115461081d9190615c1f565b9050620151808161082e9190615bba565b9450620151808161083f9190615dd2565b9050610e108161084f9190615bba565b9350610e108161085f9190615dd2565b9050603c8161086e9190615bba565b9250603c8161087d9190615dd2565b91505090919293565b6011544210156108cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c290615665565b60405180910390fd5b8261ffff16610271111580156108e757506102c38361ffff1611155b610926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091d90615845565b60405180910390fd5b8161ffff166103171115801561094257506103698261ffff1611155b610981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097890615765565b60405180910390fd5b6109b1600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261ffff166120ca565b6109f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e7906157e5565b60405180910390fd5b60011515610a018461ffff16611107565b151514610a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3a90615725565b60405180910390fd5b60011515610a548361ffff16611107565b151514610a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8d90615605565b60405180910390fd5b6001600f60008561ffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60008461ffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e856040518263ffffffff1660e01b8152600401610b689190615900565b60206040518083038186803b158015610b8057600080fd5b505afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb8919061456f565b73ffffffffffffffffffffffffffffffffffffffff1614610c0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c05906156a5565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e846040518263ffffffff1660e01b8152600401610c809190615900565b60206040518083038186803b158015610c9857600080fd5b505afa158015610cac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd0919061456f565b73ffffffffffffffffffffffffffffffffffffffff1614610d26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1d906156e5565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b8152600401610d989190615900565b60206040518083038186803b158015610db057600080fd5b505afa158015610dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de8919061456f565b73ffffffffffffffffffffffffffffffffffffffff1614610e3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3590615625565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663081812fc836040518263ffffffff1660e01b8152600401610eb09190615900565b60206040518083038186803b158015610ec857600080fd5b505afa158015610edc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f00919061456f565b73ffffffffffffffffffffffffffffffffffffffff1614610f56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4d906158c5565b60405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3361dead846040518463ffffffff1660e01b8152600401610fb7939291906153f1565b600060405180830381600087803b158015610fd157600080fd5b505af1925050508015610fe2575060015b611053573d8060008114611012576040519150601f19603f3d011682016040523d82523d6000602084013e611017565b606091505b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a906156c5565b60405180910390fd5b61105c33613359565b7f454ae5b5e2e01ed733d013814a854e13c684f7b24eecb377a46f9c9446b149ea83838360405161108f9392919061591b565b60405180910390a1505050565b6000600260005414156110e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110db906158a5565b60405180910390fd5b600260008190555063150b7a0260e01b9050600160008190555095945050505050565b600080826102711115801561111e57506102c38311155b806111395750826103171115801561113857506103698311155b5b90508061114a576000915050611170565b600f600084815260200190815260200160002060009054906101000a900460ff16159150505b919050565b3373ffffffffffffffffffffffffffffffffffffffff1661119461290f565b73ffffffffffffffffffffffffffffffffffffffff1614806111c657506111c533600361347590919063ffffffff16565b5b611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc90615825565b60405180910390fd5b61122f827f9088c207000000000000000000000000000000000000000000000000000000006132ba565b61126e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126590615745565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663ac0c8cfa826040518263ffffffff1660e01b81526004016112a7919061558d565b600060405180830381600087803b1580156112c157600080fd5b505af11580156112d5573d6000803e3d6000fd5b505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff166112fe61290f565b73ffffffffffffffffffffffffffffffffffffffff161480611330575061132f82600361347590919063ffffffff16565b5b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff1661135661290f565b73ffffffffffffffffffffffffffffffffffffffff161480611388575061138733600361347590919063ffffffff16565b5b6113c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113be90615825565b60405180910390fd5b805182511461140b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611402906157c5565b60405180910390fd5b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060005b8181101561158c576000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106114d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600001819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110611564577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160010181905550808061158490615d89565b915050611455565b5060005b8351811015611929578281815181106115d2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151848281518110611613577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101511061165b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165290615785565b60405180910390fd5b818110156118025783818151811061169c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061171b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160000181905550828181518110611769577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106117e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160010181905550611916565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405280868481518110611885577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181526020018584815181106118cb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550505b808061192190615d89565b915050611590565b507fc834fb6349b577e8519e3cb6df7274bdd4957d7388d8cc9b54467d8af9d6537b84848460405161195d939291906154a4565b60405180910390a150505050565b6119736134a5565b73ffffffffffffffffffffffffffffffffffffffff1661199161290f565b73ffffffffffffffffffffffffffffffffffffffff16146119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de906157a5565b60405180910390fd5b6119fb81600361347590919063ffffffff16565b15611a70573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f7c0c3c84c67c85fcac635147348bfe374c24a1a93d0366d1cfe9d8853cbf89d560405160405180910390a3611a6e8160036134ad90919063ffffffff16565b505b50565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548210611af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aed90615645565b60405180910390fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6060611b5b60036134dd565b67ffffffffffffffff811115611b9a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611bc85781602001602082028036833780820191505090505b50905060005b611bd860036134dd565b811015611c7957611bf38160036134f290919063ffffffff16565b828281518110611c2c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080611c7190615d89565b915050611bce565b5090565b3373ffffffffffffffffffffffffffffffffffffffff16611c9c61290f565b73ffffffffffffffffffffffffffffffffffffffff161480611cce5750611ccd33600361347590919063ffffffff16565b5b611d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0490615825565b60405180910390fd5b8051825114611d51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d48906157c5565b60405180910390fd5b60005b825181101561205b57818181518110611d96577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518015611e385750611e36838281518110611de1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061350c90919063ffffffff16565b155b15611ed457611ece838281518110611e79577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061352690919063ffffffff16565b50612048565b818181518110611f0d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151158015611faf5750611fae838281518110611f59577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061350c90919063ffffffff16565b5b1561204757612045838281518110611ff0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061354090919063ffffffff16565b505b5b808061205390615d89565b915050611d54565b507f0ed1ede59c177063e00a17d07584b15a0eb10205d90702aeff646f55bb33aa8983838360405161208f9392919061545f565b60405180910390a1505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60115481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561212757600190506123fc565b61217882600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061350c90919063ffffffff16565b1561218657600190506123fc565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156123f75760005b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156123f5576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612297577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600101541415801561233f5750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110612329577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600001548310155b80156123d35750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081815481106123bd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600101548311155b156123e25760019150506123fc565b80806123ed90615d89565b9150506121d4565b505b600090505b92915050565b3373ffffffffffffffffffffffffffffffffffffffff1661242161290f565b73ffffffffffffffffffffffffffffffffffffffff161480612453575061245233600361347590919063ffffffff16565b5b612492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248990615825565b60405180910390fd5b505050565b61249f6134a5565b73ffffffffffffffffffffffffffffffffffffffff166124bd61290f565b73ffffffffffffffffffffffffffffffffffffffff1614612513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250a906157a5565b60405180910390fd5b61252781600361347590919063ffffffff16565b61259b573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f7e1a1a08d52e4ba0e21554733d66165fd5151f99460116223d9e3a608eec5cb160405160405180910390a361259981600361355a90919063ffffffff16565b505b50565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6125ef6134a5565b73ffffffffffffffffffffffffffffffffffffffff1661260d61290f565b73ffffffffffffffffffffffffffffffffffffffff1614612663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265a906157a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b190615705565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561282357508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561283357612832848361358a565b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561289c57508373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156128ac576128ab8383613785565b5b600190509392505050565b6060600980548060200260200160405190810160405280929190818152602001828054801561290557602002820191906000526020600020905b8154815260200190600101908083116128f1575b5050505050905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6129416134a5565b73ffffffffffffffffffffffffffffffffffffffff1661295f61290f565b73ffffffffffffffffffffffffffffffffffffffff16146129b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ac906157a5565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166323b872dd3033846040518463ffffffff1660e01b81526004016129f293929190615428565b600060405180830381600087803b158015612a0c57600080fd5b505af1158015612a20573d6000803e3d6000fd5b505050505050565b6000600860149054906101000a900461ffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff16612a5f61290f565b73ffffffffffffffffffffffffffffffffffffffff161480612a915750612a9033600361347590919063ffffffff16565b5b612ad0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac790615825565b60405180910390fd5b8051825114612b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b0b906157c5565b60405180910390fd5b60005b8251811015612c0a57818181518110612b59577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160056000858481518110612b9e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080612c0290615d89565b915050612b17565b507fb987f16cb95c27617d184f54a4a9d80cfa894b91e2d679ed76042493954481488282604051612c3c929190615534565b60405180910390a15050565b612c506134a5565b73ffffffffffffffffffffffffffffffffffffffff16612c6e61290f565b73ffffffffffffffffffffffffffffffffffffffff1614612cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cbb906157a5565b60405180910390fd5b612ccc613892565b565b60128054612cdb90615d2c565b80601f0160208091040260200160405190810160405280929190818152602001828054612d0790615d2c565b8015612d545780601f10612d2957610100808354040283529160200191612d54565b820191906000526020600020905b815481529060010190602001808311612d3757829003601f168201915b505050505081565b612d646134a5565b73ffffffffffffffffffffffffffffffffffffffff16612d8261290f565b73ffffffffffffffffffffffffffffffffffffffff1614612dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dcf906157a5565b60405180910390fd5b612de181613359565b7fbf5f3f082474d7ba3468c780bb5f3a40ec5c6c67f4e764107ee811f804c2184881604051612e1091906153d6565b60405180910390a150565b60606000600a6000848152602001908152602001600020541415612e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e6b90615805565b60405180910390fd5b6010612e92600a600085815260200190815260200160002054613922565b604051602001612ea39291906153b2565b6040516020818303038152906040529050919050565b6060612ec482612e1b565b905092915050565b612ed46134a5565b73ffffffffffffffffffffffffffffffffffffffff16612ef261290f565b73ffffffffffffffffffffffffffffffffffffffff1614612f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3f906157a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612fd057612f8561290f565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015612fca573d6000803e3d6000fd5b506130ee565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb612ff461290f565b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161302d91906153d6565b60206040518083038186803b15801561304557600080fd5b505afa158015613059573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061307d919061498b565b6040518363ffffffff1660e01b815260040161309a9291906154e9565b602060405180830381600087803b1580156130b457600080fd5b505af11580156130c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ec9190614898565b505b50565b6130f96134a5565b73ffffffffffffffffffffffffffffffffffffffff1661311761290f565b73ffffffffffffffffffffffffffffffffffffffff161461316d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613164906157a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156131dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131d490615685565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600a6000838152602001908152602001600020549050919050565b60006132c583613acf565b80156132d757506132d68383613b1c565b5b905092915050565b60007f99cdaa22000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480613352575061335182613c47565b5b9050919050565b600860149054906101000a900461ffff1661ffff16600860169054906101000a900461ffff1661ffff16106133c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133ba90615865565b60405180910390fd5b6008601681819054906101000a900461ffff16809291906133e390615d5e565b91906101000a81548161ffff021916908361ffff16021790555050600061341a82600860169054906101000a900461ffff16613cc1565b90506009819080600181540180825580915050600190039060005260206000200160009091909190915055600860169054906101000a900461ffff1661ffff16600a6000838152602001908152602001600020819055505050565b600061349d836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613d78565b905092915050565b600033905090565b60006134d5836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613d9b565b905092915050565b60006134eb82600001613f19565b9050919050565b60006135018360000183613f2a565b60001c905092915050565b600061351e836000018360001b613d78565b905092915050565b6000613538836000018360001b613fc4565b905092915050565b6000613552836000018360001b613d9b565b905092915050565b6000613582836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613fc4565b905092915050565b60006001600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135d89190615c1f565b90506000600d60008481526020019081526020016000205490508181146136bd576000600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555081600d600083815260200190815260200160002081905550505b600d600084815260200190815260200160002060009055600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020600090556001600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546137789190615c1f565b9250508190555050505050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000208190555080600d6000848152602001908152602001600020819055506001600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546138869190615b64565b92505081905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ac0c8cfa60016040518263ffffffff1660e01b81526004016138ee919061558d565b600060405180830381600087803b15801561390857600080fd5b505af115801561391c573d6000803e3d6000fd5b50505050565b6060600082141561396a576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050613aca565b600082905060005b6000821461399c57808061398590615d89565b915050600a826139959190615bba565b9150613972565b60008167ffffffffffffffff8111156139de577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015613a105781602001600182028036833780820191505090505b5090505b60008514613ac357600182613a299190615c1f565b9150600a85613a389190615dd2565b6030613a449190615b64565b60f81b818381518110613a80577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85613abc9190615bba565b9450613a14565b8093505050505b919050565b6000613afb827f01ffc9a700000000000000000000000000000000000000000000000000000000613b1c565b8015613b155750613b138263ffffffff60e01b613b1c565b155b9050919050565b6000806301ffc9a760e01b83604051602401613b3891906155a8565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000808573ffffffffffffffffffffffffffffffffffffffff1661753084604051613bc2919061539b565b6000604051808303818686fa925050503d8060008114613bfe576040519150601f19603f3d011682016040523d82523d6000602084013e613c03565b606091505b5091509150602081511015613c1e5760009350505050613c41565b818015613c3b575080806020019051810190613c3a9190614898565b5b93505050505b92915050565b60007fedb7f87c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480613cba5750613cb982614034565b5b9050919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632928ca58846040518263ffffffff1660e01b8152600401613d1e91906153d6565b602060405180830381600087803b158015613d3857600080fd5b505af1158015613d4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d70919061498b565b905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b60008083600101600084815260200190815260200160002054905060008114613f0d576000600182613dcd9190615c1f565b9050600060018660000180549050613de59190615c1f565b90506000866000018281548110613e25577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080876000018481548110613e6f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200181905550838760010160008381526020019081526020016000208190555086600001805480613ed1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050613f13565b60009150505b92915050565b600081600001805490509050919050565b600081836000018054905011613f75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613f6c906155e5565b60405180910390fd5b826000018281548110613fb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905092915050565b6000613fd08383613d78565b61402957826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905061402e565b600090505b92915050565b60007f866c67eb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806140a757506140a6826140be565b5b806140b757506140b682614138565b5b9050919050565b60007fa927d73f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480614131575061413082614199565b5b9050919050565b6000637005caad60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806141925750614191826140be565b5b9050919050565b60007f553e757e000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061420c575061420b82614213565b5b9050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600061429061428b846159e3565b6159b2565b905080838252602082019050828560208602820111156142af57600080fd5b60005b858110156142df57816142c588826143c1565b8452602084019350602083019250506001810190506142b2565b5050509392505050565b60006142fc6142f784615a0f565b6159b2565b9050808382526020820190508285602086028201111561431b57600080fd5b60005b8581101561434b57816143318882614469565b84526020840193506020830192505060018101905061431e565b5050509392505050565b600061436861436384615a3b565b6159b2565b9050808382526020820190508285602086028201111561438757600080fd5b60005b858110156143b7578161439d888261451c565b84526020840193506020830192505060018101905061438a565b5050509392505050565b6000813590506143d081615ed0565b92915050565b6000815190506143e581615ed0565b92915050565b600082601f8301126143fc57600080fd5b813561440c84826020860161427d565b91505092915050565b600082601f83011261442657600080fd5b81356144368482602086016142e9565b91505092915050565b600082601f83011261445057600080fd5b8135614460848260208601614355565b91505092915050565b60008135905061447881615ee7565b92915050565b60008151905061448d81615ee7565b92915050565b6000813590506144a281615efe565b92915050565b60008083601f8401126144ba57600080fd5b8235905067ffffffffffffffff8111156144d357600080fd5b6020830191508360018202830111156144eb57600080fd5b9250929050565b60008135905061450181615f15565b92915050565b60008135905061451681615f2c565b92915050565b60008135905061452b81615f43565b92915050565b60008151905061454081615f43565b92915050565b60006020828403121561455857600080fd5b6000614566848285016143c1565b91505092915050565b60006020828403121561458157600080fd5b600061458f848285016143d6565b91505092915050565b6000806000606084860312156145ad57600080fd5b60006145bb868287016143c1565b93505060206145cc868287016143c1565b92505060406145dd8682870161451c565b9150509250925092565b6000806000806000608086880312156145ff57600080fd5b600061460d888289016143c1565b955050602061461e888289016143c1565b945050604061462f8882890161451c565b935050606086013567ffffffffffffffff81111561464c57600080fd5b614658888289016144a8565b92509250509295509295909350565b60008060006060848603121561467c57600080fd5b600061468a868287016143c1565b935050602084013567ffffffffffffffff8111156146a757600080fd5b6146b38682870161443f565b925050604084013567ffffffffffffffff8111156146d057600080fd5b6146dc86828701614415565b9150509250925092565b6000806000606084860312156146fb57600080fd5b6000614709868287016143c1565b935050602084013567ffffffffffffffff81111561472657600080fd5b6147328682870161443f565b925050604084013567ffffffffffffffff81111561474f57600080fd5b61475b8682870161443f565b9150509250925092565b6000806040838503121561477857600080fd5b6000614786858286016143c1565b925050602061479785828601614469565b9150509250929050565b600080604083850312156147b457600080fd5b60006147c2858286016143c1565b92505060206147d38582860161451c565b9150509250929050565b6000806000606084860312156147f257600080fd5b6000614800868287016143c1565b93505060206148118682870161451c565b9250506040614822868287016143c1565b9150509250925092565b6000806040838503121561483f57600080fd5b600083013567ffffffffffffffff81111561485957600080fd5b614865858286016143eb565b925050602083013567ffffffffffffffff81111561488257600080fd5b61488e85828601614415565b9150509250929050565b6000602082840312156148aa57600080fd5b60006148b88482850161447e565b91505092915050565b6000602082840312156148d357600080fd5b60006148e184828501614493565b91505092915050565b6000602082840312156148fc57600080fd5b600061490a848285016144f2565b91505092915050565b60008060006060848603121561492857600080fd5b600061493686828701614507565b935050602061494786828701614507565b925050604061495886828701614507565b9150509250925092565b60006020828403121561497457600080fd5b60006149828482850161451c565b91505092915050565b60006020828403121561499d57600080fd5b60006149ab84828501614531565b91505092915050565b60006149c083836149fc565b60208301905092915050565b60006149d88383614b34565b60208301905092915050565b60006149f0838361537d565b60208301905092915050565b614a0581615c53565b82525050565b614a1481615c53565b82525050565b6000614a2582615aac565b614a2f8185615b0a565b9350614a3a83615a67565b8060005b83811015614a6b578151614a5288826149b4565b9750614a5d83615ae3565b925050600181019050614a3e565b5085935050505092915050565b6000614a8382615ab7565b614a8d8185615b1b565b9350614a9883615a77565b8060005b83811015614ac9578151614ab088826149cc565b9750614abb83615af0565b925050600181019050614a9c565b5085935050505092915050565b6000614ae182615ac2565b614aeb8185615b2c565b9350614af683615a87565b8060005b83811015614b27578151614b0e88826149e4565b9750614b1983615afd565b925050600181019050614afa565b5085935050505092915050565b614b3d81615c65565b82525050565b614b4c81615c65565b82525050565b614b5b81615c71565b82525050565b6000614b6c82615acd565b614b768185615b3d565b9350614b86818560208601615cf9565b80840191505092915050565b6000614b9d82615ad8565b614ba78185615b48565b9350614bb7818560208601615cf9565b614bc081615ebf565b840191505092915050565b6000614bd682615ad8565b614be08185615b59565b9350614bf0818560208601615cf9565b80840191505092915050565b60008154614c0981615d2c565b614c138186615b59565b94506001821660008114614c2e5760018114614c3f57614c72565b60ff19831686528186019350614c72565b614c4885615a97565b60005b83811015614c6a57815481890152600182019150602081019050614c4b565b838801955050505b50505092915050565b6000614c88602283615b48565b91507f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60008301527f64730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614cee600283615b48565b91507f46320000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614d2e600483615b48565b91507f6f776e33000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614d6e602b83615b48565b91507f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008301527f74206f6620626f756e64730000000000000000000000000000000000000000006020830152604082019050919050565b6000614dd4600c83615b48565b91507f6e6f7420737461727465642e00000000000000000000000000000000000000006000830152602082019050919050565b6000614e14602683615b48565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614e7a600483615b48565b91507f6f776e31000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614eba600283615b48565b91507f42660000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614efa600483615b48565b91507f6f776e32000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614f3a600e83615b48565b91507f496e76616c69642063616c6c65720000000000000000000000000000000000006000830152602082019050919050565b6000614f7a600283615b48565b91507f46310000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614fba602983615b48565b91507f63726561746f72206d75737420696d706c656d656e742049455243373231437260008301527f6561746f72436f726500000000000000000000000000000000000000000000006020830152604082019050919050565b6000615020600183615b48565b91507f4a000000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000615060602183615b48565b91507f52656465656d3a206d696e206d757374206265206c657373207468616e206d6160008301527f78000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006150c6602083615b48565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000615106602083615b48565b91507f52656465656d3a20496e76616c696420696e70757420706172616d65746572736000830152602082019050919050565b6000615146600283615b48565b91507f49540000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000615186600283615b48565b91507f49740000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b60006151c6602483615b48565b91507f41646d696e436f6e74726f6c3a204d757374206265206f776e6572206f72206160008301527f646d696e000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061522c600283615b48565b91507f21530000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b600061526c602083615b48565b91507f52656465656d3a204e6f20726564656d7074696f6e732072656d61696e696e676000830152602082019050919050565b60006152ac600783615b48565b91507f53746172746564000000000000000000000000000000000000000000000000006000830152602082019050919050565b60006152ec601f83615b48565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b600061532c600883615b48565b91507f617070726f76616c0000000000000000000000000000000000000000000000006000830152602082019050919050565b61536881615caf565b82525050565b61537781615ce7565b82525050565b61538681615cdd565b82525050565b61539581615cdd565b82525050565b60006153a78284614b61565b915081905092915050565b60006153be8285614bfc565b91506153ca8284614bcb565b91508190509392505050565b60006020820190506153eb6000830184614a0b565b92915050565b60006060820190506154066000830186614a0b565b6154136020830185614a0b565b615420604083018461536e565b949350505050565b600060608201905061543d6000830186614a0b565b61544a6020830185614a0b565b615457604083018461538c565b949350505050565b60006060820190506154746000830186614a0b565b81810360208301526154868185614ad6565b9050818103604083015261549a8184614a78565b9050949350505050565b60006060820190506154b96000830186614a0b565b81810360208301526154cb8185614ad6565b905081810360408301526154df8184614ad6565b9050949350505050565b60006040820190506154fe6000830185614a0b565b61550b602083018461538c565b9392505050565b6000602082019050818103600083015261552c8184614a1a565b905092915050565b6000604082019050818103600083015261554e8185614a1a565b905081810360208301526155628184614a78565b90509392505050565b600060208201905081810360008301526155858184614ad6565b905092915050565b60006020820190506155a26000830184614b43565b92915050565b60006020820190506155bd6000830184614b52565b92915050565b600060208201905081810360008301526155dd8184614b92565b905092915050565b600060208201905081810360008301526155fe81614c7b565b9050919050565b6000602082019050818103600083015261561e81614ce1565b9050919050565b6000602082019050818103600083015261563e81614d21565b9050919050565b6000602082019050818103600083015261565e81614d61565b9050919050565b6000602082019050818103600083015261567e81614dc7565b9050919050565b6000602082019050818103600083015261569e81614e07565b9050919050565b600060208201905081810360008301526156be81614e6d565b9050919050565b600060208201905081810360008301526156de81614ead565b9050919050565b600060208201905081810360008301526156fe81614eed565b9050919050565b6000602082019050818103600083015261571e81614f2d565b9050919050565b6000602082019050818103600083015261573e81614f6d565b9050919050565b6000602082019050818103600083015261575e81614fad565b9050919050565b6000602082019050818103600083015261577e81615013565b9050919050565b6000602082019050818103600083015261579e81615053565b9050919050565b600060208201905081810360008301526157be816150b9565b9050919050565b600060208201905081810360008301526157de816150f9565b9050919050565b600060208201905081810360008301526157fe81615139565b9050919050565b6000602082019050818103600083015261581e81615179565b9050919050565b6000602082019050818103600083015261583e816151b9565b9050919050565b6000602082019050818103600083015261585e8161521f565b9050919050565b6000602082019050818103600083015261587e8161525f565b9050919050565b6000602082019050818103600083015261589e8161529f565b9050919050565b600060208201905081810360008301526158be816152df565b9050919050565b600060208201905081810360008301526158de8161531f565b9050919050565b60006020820190506158fa600083018461535f565b92915050565b6000602082019050615915600083018461536e565b92915050565b6000606082019050615930600083018661535f565b61593d602083018561535f565b61594a604083018461535f565b949350505050565b6000602082019050615967600083018461538c565b92915050565b6000608082019050615982600083018761538c565b61598f602083018661538c565b61599c604083018561538c565b6159a9606083018461538c565b95945050505050565b6000604051905081810181811067ffffffffffffffff821117156159d9576159d8615e90565b5b8060405250919050565b600067ffffffffffffffff8211156159fe576159fd615e90565b5b602082029050602081019050919050565b600067ffffffffffffffff821115615a2a57615a29615e90565b5b602082029050602081019050919050565b600067ffffffffffffffff821115615a5657615a55615e90565b5b602082029050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000615b6f82615cdd565b9150615b7a83615cdd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115615baf57615bae615e03565b5b828201905092915050565b6000615bc582615cdd565b9150615bd083615cdd565b925082615be057615bdf615e32565b5b828204905092915050565b6000615bf682615caf565b9150615c0183615caf565b925082821015615c1457615c13615e03565b5b828203905092915050565b6000615c2a82615cdd565b9150615c3583615cdd565b925082821015615c4857615c47615e03565b5b828203905092915050565b6000615c5e82615cbd565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000615ca882615c53565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000615cf282615caf565b9050919050565b60005b83811015615d17578082015181840152602081019050615cfc565b83811115615d26576000848401525b50505050565b60006002820490506001821680615d4457607f821691505b60208210811415615d5857615d57615e61565b5b50919050565b6000615d6982615caf565b915061ffff821415615d7e57615d7d615e03565b5b600182019050919050565b6000615d9482615cdd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415615dc757615dc6615e03565b5b600182019050919050565b6000615ddd82615cdd565b9150615de883615cdd565b925082615df857615df7615e32565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b615ed981615c53565b8114615ee457600080fd5b50565b615ef081615c65565b8114615efb57600080fd5b50565b615f0781615c71565b8114615f1257600080fd5b50565b615f1e81615c9d565b8114615f2957600080fd5b50565b615f3581615caf565b8114615f4057600080fd5b50565b615f4c81615cdd565b8114615f5757600080fd5b5056fea2646970667358221220c9e01ae58b697b153c460f6934c3312120c47f21ee9ce05e20ff483754eb605464736f6c6343000800003368747470733a2f2f796f7574752e62652f3430324f72507666596c553f743d3235373568747470733a2f2f636c69656e742d6d657461646174612e65746865722e63617264732f6170692f616f6b692f41566967696c616e744579652f00000000000000000000000001ba93514e5eb642ec63e95ef7787b0edd403add00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000053