0 txs
0 calls
constructor
constructor()
functions
addressList
viewfunction addressList(uint256) view returns (address)
FEE_DENOM
viewfunction FEE_DENOM() view returns (uint256)
owner
viewfunction owner() view returns (address)
REFERRAL_WITH_FEE_THRESHOLD
viewfunction REFERRAL_WITH_FEE_THRESHOLD() view returns (uint256)
referralLookup
viewfunction referralLookup(uint32) view returns (uint64 referralFee, address beneficiary, bool registered)
swapMultiFee
viewfunction swapMultiFee() view returns (uint256)
registerReferralCode
nonpayablefunction registerReferralCode(uint32 _referralCode, uint64 _referralFee, address _beneficiary)
renounceOwnership
nonpayablefunction renounceOwnership()
setSwapMultiFee
nonpayablefunction setSwapMultiFee(uint256 _swapMultiFee)
swap
payablefunction swap(tuple tokenInfo, bytes pathDefinition, address executor, uint32 referralCode) payable returns (uint256 amountOut)
swapCompact
payablefunction swapCompact() payable returns (uint256)
swapMulti
payablefunction swapMulti(tuple[] inputs, tuple[] outputs, uint256 valueOutMin, bytes pathDefinition, address executor, uint32 referralCode) payable returns (uint256[] amountsOut)
swapMultiCompact
payablefunction swapMultiCompact() payable returns (uint256[] amountsOut)
swapMultiPermit2
payablefunction swapMultiPermit2(tuple permit2, tuple[] inputs, tuple[] outputs, uint256 valueOutMin, bytes pathDefinition, address executor, uint32 referralCode) payable returns (uint256[] amountsOut)
swapPermit2
nonpayablefunction swapPermit2(tuple permit2, tuple tokenInfo, bytes pathDefinition, address executor, uint32 referralCode) returns (uint256 amountOut)
swapRouterFunds
nonpayablefunction swapRouterFunds(tuple[] inputs, tuple[] outputs, uint256 valueOutMin, bytes pathDefinition, address executor) returns (uint256[] amountsOut)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
transferRouterFunds
nonpayablefunction transferRouterFunds(address[] tokens, uint256[] amounts, address dest)
writeAddressList
nonpayablefunction writeAddressList(address[] addresses)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Swap
event Swap(address sender, uint256 inputAmount, address inputToken, uint256 amountOut, address outputToken, int256 slippage, uint32 referralCode)
SwapMulti
event SwapMulti(address sender, uint256[] amountsIn, address[] tokensIn, uint256[] amountsOut, address[] tokensOut, uint32 referralCode)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5062000032620000266200011560201b60201c565b6200011d60201b60201c565b6000600360008063ffffffff16815260200190815260200160002060000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600360008063ffffffff16815260200190815260200160002060000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008063ffffffff168152602001908152602001600020600001601c6101000a81548160ff0219169083151502179055506000600281905550620001e1565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b615a3780620001f16000396000f3fe6080604052600436106101185760003560e01c806383bd37f9116100a0578063b810fb4311610064578063b810fb431461037d578063e10895f9146103ba578063e7d3fc60146103e3578063f2fde38b1461040e578063f827065e146104375761011f565b806383bd37f9146102b057806384a7f3dd146102ce57806387b621b5146102ec5780638da5cb5b146103295780639286b93d146103545761011f565b80633b635ce4116100e75780633b635ce4146101e35780634886c675146102135780636c082c131461023e578063715018a6146102695780637bf2d6d4146102805761011f565b8063080c25b314610124578063174da6211461015457806328be42f41461017d5780633596f9a2146101ba5761011f565b3661011f57005b600080fd5b61013e60048036038101906101399190613dbf565b610476565b60405161014b9190613f93565b60405180910390f35b34801561016057600080fd5b5061017b60048036038101906101769190614061565b6109b2565b005b34801561018957600080fd5b506101a4600480360381019061019f91906140f6565b610acd565b6040516101b19190613f93565b60405180910390f35b3480156101c657600080fd5b506101e160048036038101906101dc91906141c8565b6110e1565b005b6101fd60048036038101906101f891906142c9565b611199565b60405161020a9190614363565b60405180910390f35b34801561021f57600080fd5b506102286111b3565b6040516102359190614363565b60405180910390f35b34801561024a57600080fd5b506102536111bf565b6040516102609190614363565b60405180910390f35b34801561027557600080fd5b5061027e6111c7565b005b61029a6004803603810190610295919061437e565b6111db565b6040516102a79190613f93565b60405180910390f35b6102b86111f9565b6040516102c59190614363565b60405180910390f35b6102d66113a7565b6040516102e39190613f93565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e9190614465565b61165c565b6040516103209190614363565b60405180910390f35b34801561033557600080fd5b5061033e611776565b60405161034b919061452e565b60405180910390f35b34801561036057600080fd5b5061037b60048036038101906103769190614549565b61179f565b005b34801561038957600080fd5b506103a4600480360381019061039f9190614549565b611808565b6040516103b1919061452e565b60405180910390f35b3480156103c657600080fd5b506103e160048036038101906103dc91906145b6565b611847565b005b3480156103ef57600080fd5b506103f8611b23565b6040516104059190614363565b60405180910390f35b34801561041a57600080fd5b5061043560048036038101906104309190614609565b611b29565b005b34801561044357600080fd5b5061045e60048036038101906104599190614636565b611bad565b60405161046d9392919061468d565b60405180910390f35b6060610480613656565b60606000803411610492578a516104a1565b60018b516104a091906146f3565b5b905060405180606001604052808267ffffffffffffffff8111156104c8576104c7613873565b5b60405190808252806020026020018201604052801561050157816020015b6104ee613677565b8152602001906001900390816104e65790505b5081526020018d6020015181526020018d6040015181525092508067ffffffffffffffff81111561053557610534613873565b5b60405190808252806020026020018201604052801561056e57816020015b61055b6136a7565b8152602001906001900390816105535790505b509150506000805b8b518110156108d657600073ffffffffffffffffffffffffffffffffffffffff168c82815181106105aa576105a9614727565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614156106445760008c82815181106105e7576105e6614727565b5b602002602001015160200151141561061e57348c828151811061060d5761060c614727565b5b602002602001015160200181815250505b8b818151811061063157610630614727565b5b60200260200101516020015191506108c3565b60008c828151811061065957610658614727565b5b6020026020010151602001511415610736578b818151811061067e5761067d614727565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016106c2919061452e565b60206040518083038186803b1580156106da57600080fd5b505afa1580156106ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610712919061476b565b8c828151811061072557610724614727565b5b602002602001015160200181815250505b60008083146107515760018261074c91906146f3565b610753565b815b90508c828151811061076857610767614727565b5b6020026020010151600001518560000151828151811061078b5761078a614727565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508c82815181106107dc576107db614727565b5b602002602001015160200151856000015182815181106107ff576107fe614727565b5b602002602001015160200181815250508c828151811061082257610821614727565b5b60200260200101516040015184828151811061084157610840614727565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508c828151811061089257610891614727565b5b6020026020010151602001518482815181106108b1576108b0614727565b5b60200260200101516020018181525050505b80806108ce90614798565b915050610576565b50803414610919576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109109061483e565b60405180910390fd5b508a6000015173ffffffffffffffffffffffffffffffffffffffff1663edd9444b8383338f606001516040518563ffffffff1660e01b81526004016109619493929190614b01565b600060405180830381600087803b15801561097b57600080fd5b505af115801561098f573d6000803e3d6000fd5b505050506109a28a8a8a8a8a8a8a611c18565b9250505098975050505050505050565b6109ba6126b5565b828290508585905014610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990614ba7565b60405180910390fd5b60005b85859050811015610ac557610ab2868683818110610a2657610a25614727565b5b9050602002016020810190610a3b9190614609565b836000878786818110610a5157610a50614727565b5b9050602002013514610a7c57868685818110610a7057610a6f614727565b5b90506020020135610aad565b610aac898986818110610a9257610a91614727565b5b9050602002016020810190610aa79190614609565b612733565b5b612802565b8080610abd90614798565b915050610a05565b505050505050565b6060610ad76126b5565b6000875167ffffffffffffffff811115610af457610af3613873565b5b604051908082528060200260200182016040528015610b225781602001602082028036833780820191505090505b5090506000885167ffffffffffffffff811115610b4257610b41613873565b5b604051908082528060200260200182016040528015610b705781602001602082028036833780820191505090505b50905060005b8951811015610ce857898181518110610b9257610b91614727565b5b602002602001015160000151828281518110610bb157610bb0614727565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060008a8281518110610c0057610bff614727565b5b60200260200101516020015114610c3557898181518110610c2457610c23614727565b5b602002602001015160200151610c59565b610c58828281518110610c4b57610c4a614727565b5b6020026020010151612733565b5b838281518110610c6c57610c6b614727565b5b602002602001018181525050610cd5828281518110610c8e57610c8d614727565b5b60200260200101518b8381518110610ca957610ca8614727565b5b602002602001015160400151858481518110610cc857610cc7614727565b5b6020026020010151612802565b8080610ce090614798565b915050610b76565b506000885167ffffffffffffffff811115610d0657610d05613873565b5b604051908082528060200260200182016040528015610d345781602001602082028036833780820191505090505b5090506000895167ffffffffffffffff811115610d5457610d53613873565b5b604051908082528060200260200182016040528015610d825781602001602082028036833780820191505090505b50905060005b8a51811015610e52578a8181518110610da457610da3614727565b5b602002602001015160000151828281518110610dc357610dc2614727565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610e20828281518110610e1357610e12614727565b5b6020026020010151612733565b838281518110610e3357610e32614727565b5b6020026020010181815250508080610e4a90614798565b915050610d88565b508573ffffffffffffffffffffffffffffffffffffffff1663cb70e27360008a8a88336040518663ffffffff1660e01b8152600401610e949493929190614bf4565b6000604051808303818588803b158015610ead57600080fd5b505af1158015610ec1573d6000803e3d6000fd5b505050505060008a5167ffffffffffffffff811115610ee357610ee2613873565b5b604051908082528060200260200182016040528015610f115781602001602082028036833780820191505090505b50955060005b8b5181101561104c57838181518110610f3357610f32614727565b5b6020026020010151610f5e848381518110610f5157610f50614727565b5b6020026020010151612733565b610f6891906146f3565b878281518110610f7b57610f7a614727565b5b602002602001018181525050610fe88c8281518110610f9d57610f9c614727565b5b6020026020010151600001518d8381518110610fbc57610fbb614727565b5b602002602001015160400151898481518110610fdb57610fda614727565b5b6020026020010151612802565b8b8181518110610ffb57610ffa614727565b5b60200260200101516020015187828151811061101a57611019614727565b5b602002602001015161102c9190614c3b565b826110379190614c95565b9150808061104490614798565b915050610f17565b5089811015611090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108790614d37565b60405180910390fd5b7f7d7fb03518253ae01913536628b78d6d82e63e19b943aab5f4948356021259be338686898660006040516110ca96959493929190614e4b565b60405180910390a150505050509695505050505050565b6110e96126b5565b60005b8282905081101561119457600183838381811061110c5761110b614727565b5b90506020020160208101906111219190614609565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808061118c90614798565b9150506110ec565b505050565b60006111a8868686868661291a565b905095945050505050565b670de0b6b3a764000081565b638000000081565b6111cf6126b5565b6111d96000612ab2565b565b60606111ec88888888888888612b76565b9050979650505050505050565b60006112036136d7565b60008036600080339050611295565b600080823560f01c806000811461125f576001811461126a57600282037fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60154935060028501925061128e565b60028501925061128e565b73ffffffffffffffffffffffffffffffffffffffff853560501c1693506016850192505b5050915091565b600060046112a281611212565b915091508188526112b281611212565b91509150816060890152803560f81c60018201915080156112e2578135600882602003021c60208a015280820191505b813560f81c6001830192508235600882602003021c8060808c01528184019350833560e81c62ffffff8162ffffff0383020460a08d01525060038401935061132984611212565b9450995061133684611212565b945094506000851415611347578994505b8460408c015261135684611212565b945094506000851415611367578594505b8460c08c0152833560e01c98506004840193506020843560f81c02965060018401975050505050505061139d858383878761291a565b9550505050505090565b6060600080606080600060069050600033905060008060043560f81c915060053560f81c90508167ffffffffffffffff8111156113e7576113e6613873565b5b60405190808252806020026020018201604052801561142057816020015b61140d61376c565b8152602001906001900390816114055790505b5095508067ffffffffffffffff81111561143d5761143c613873565b5b60405190808252806020026020018201604052801561147657816020015b6114636137b9565b81526020019060019003908161145b5790505b509450611501565b600080823560f01c80600081146114cb57600181146114d657600282037fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6015493506002850192506114fa565b6002850192506114fa565b73ffffffffffffffffffffffffffffffffffffffff853560501c1693506016850192505b5050915091565b61150a8461147e565b94509750833560f81c6001850194508435600882602003021c9750808501945060008060005b858110156115a5576020808202018a0151915061154c8861147e565b98509250828252873560f81c6001890198508015611579578835600882602003021c602084015280890198505b6115828961147e565b995093506000841415611593578c93505b83604084015250600181019050611530565b5060005b848110156116175760208082020189015191506115c58861147e565b98509250828252873560f81c6001890198508835600882602003021c602084015280890198506115f48961147e565b995093506000841415611605578793505b836040840152506001810190506115a9565b505050505050506000366000833560e01c92506004840193506020843560f81c02905060018401915061164f86868985858d89612b76565b9850505050505050505090565b6000866000015173ffffffffffffffffffffffffffffffffffffffff166330f28b7a604051806060016040528060405180604001604052808b6000015173ffffffffffffffffffffffffffffffffffffffff1681526020018b6020015181525081526020018a6020015181526020018a6040015181525060405180604001604052808a6040015173ffffffffffffffffffffffffffffffffffffffff1681526020018a60200151815250338b606001516040518563ffffffff1660e01b815260040161172b9493929190614f39565b600060405180830381600087803b15801561174557600080fd5b505af1158015611759573d6000803e3d6000fd5b5050505061176a8686868686612e37565b90509695505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6117a76126b5565b60c8670de0b6b3a76400006117bc9190614fb5565b8111156117fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f590615032565b60405180910390fd5b8060028190555050565b6001818154811061181857600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360008463ffffffff1663ffffffff168152602001908152602001600020600001601c9054906101000a900460ff16156118b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ae9061509e565b60405180910390fd5b6032670de0b6b3a76400006118cc9190614fb5565b8267ffffffffffffffff161115611918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190f90615032565b60405180910390fd5b63800000008363ffffffff161161197b5760008267ffffffffffffffff1614611976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196d9061510a565b60405180910390fd5b611a39565b60008267ffffffffffffffff16116119c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bf9061510a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2f90615176565b60405180910390fd5b5b81600360008563ffffffff1663ffffffff16815260200190815260200160002060000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600360008563ffffffff1663ffffffff16815260200190815260200160002060000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008563ffffffff1663ffffffff168152602001908152602001600020600001601c6101000a81548160ff021916908315150217905550505050565b60025481565b611b316126b5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9890615208565b60405180910390fd5b611baa81612ab2565b50565b60036020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600001601c9054906101000a900460ff16905083565b606060008611611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5490615274565b60405180910390fd5b6000885167ffffffffffffffff811115611c7a57611c79613873565b5b604051908082528060200260200182016040528015611ca85781602001602082028036833780820191505090505b5090506000895167ffffffffffffffff811115611cc857611cc7613873565b5b604051908082528060200260200182016040528015611cf65781602001602082028036833780820191505090505b50905060005b8a51811015611f57578a8181518110611d1857611d17614727565b5b602002602001015160200151838281518110611d3757611d36614727565b5b6020026020010181815250508a8181518110611d5657611d55614727565b5b602002602001015160000151828281518110611d7557611d74614727565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060005b81811015611e78578b8181518110611dcd57611dcc614727565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168c8381518110611e0257611e01614727565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff161415611e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5c906152e0565b60405180910390fd5b8080611e7090614798565b915050611db2565b5060005b8a51811015611f43578a8181518110611e9857611e97614727565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168c8381518110611ecd57611ecc614727565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff161415611f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f279061534c565b60405180910390fd5b8080611f3b90614798565b915050611e7c565b508080611f4f90614798565b915050611cfc565b506000895167ffffffffffffffff811115611f7557611f74613873565b5b604051908082528060200260200182016040528015611fa35781602001602082028036833780820191505090505b50905060005b8a518110156120d55760005b8181101561207b578b8181518110611fd057611fcf614727565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168c838151811061200557612004614727565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff161415612068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205f906153b8565b60405180910390fd5b808061207390614798565b915050611fb5565b506120a38b828151811061209257612091614727565b5b602002602001015160000151612733565b8282815181106120b6576120b5614727565b5b60200260200101818152505080806120cd90614798565b915050611fa9565b508573ffffffffffffffffffffffffffffffffffffffff1663cb70e273348a8a87336040518663ffffffff1660e01b81526004016121169493929190614bf4565b6000604051808303818588803b15801561212f57600080fd5b505af1158015612143573d6000803e3d6000fd5b5050505050612150613806565b63800000008663ffffffff16111561223257600360008763ffffffff1663ffffffff1681526020019081526020016000206040518060600160405290816000820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160008201601c9054906101000a900460ff16151515158152505090505b60008060025490508c5167ffffffffffffffff81111561225557612254613873565b5b6040519080825280602002602001820160405280156122835781602001602082028036833780820191505090505b50965060005b8d51811015612544578481815181106122a5576122a4614727565b5b60200260200101516122d48f83815181106122c3576122c2614727565b5b602002602001015160000151612733565b6122de91906146f3565b8882815181106122f1576122f0614727565b5b602002602001018181525050670de0b6b3a764000082670de0b6b3a764000061231a91906146f3565b89838151811061232d5761232c614727565b5b602002602001015161233f9190614c3b565b6123499190614fb5565b88828151811061235c5761235b614727565b5b60200260200101818152505063800000008963ffffffff16111561247f576124058e82815181106123905761238f614727565b5b6020026020010151600001518560200151600a670de0b6b3a76400006123b69190614c3b565b6008886000015167ffffffffffffffff168d87815181106123da576123d9614727565b5b60200260200101516123ec9190614c3b565b6123f69190614c3b565b6124009190614fb5565b612802565b670de0b6b3a7640000846000015167ffffffffffffffff16670de0b6b3a764000061243091906146f3565b89838151811061244357612442614727565b5b60200260200101516124559190614c3b565b61245f9190614fb5565b88828151811061247257612471614727565b5b6020026020010181815250505b6124e08e828151811061249557612494614727565b5b6020026020010151600001518f83815181106124b4576124b3614727565b5b6020026020010151604001518a84815181106124d3576124d2614727565b5b6020026020010151612802565b8d81815181106124f3576124f2614727565b5b60200260200101516020015188828151811061251257612511614727565b5b60200260200101516125249190614c3b565b8361252f9190614c95565b9250808061253c90614798565b915050612289565b508b821015612588576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257f90614d37565b60405180910390fd5b505060008b5167ffffffffffffffff8111156125a7576125a6613873565b5b6040519080825280602002602001820160405280156125d55781602001602082028036833780820191505090505b50905060005b8c51811015612663578c81815181106125f7576125f6614727565b5b60200260200101516000015182828151811061261657612615614727565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808061265b90614798565b9150506125db565b507f7d7fb03518253ae01913536628b78d6d82e63e19b943aab5f4948356021259be33868689858c60405161269d969594939291906153e7565b60405180910390a15050505050979650505050505050565b6126bd6132aa565b73ffffffffffffffffffffffffffffffffffffffff166126db611776565b73ffffffffffffffffffffffffffffffffffffffff1614612731576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612728906154b0565b60405180910390fd5b565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612771574790506127fd565b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016127aa919061452e565b60206040518083038186803b1580156127c257600080fd5b505afa1580156127d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127fa919061476b565b90505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156128e95760008273ffffffffffffffffffffffffffffffffffffffff168260405161285d90615501565b60006040518083038185875af1925050503d806000811461289a576040519150601f19603f3d011682016040523d82523d6000602084013e61289f565b606091505b50509050806128e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128da90615562565b60405180910390fd5b50612915565b61291482828573ffffffffffffffffffffffffffffffffffffffff166132b29092919063ffffffff16565b5b505050565b60008073ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff1614156129bc5760008660200151141561297057348660200181815250506129b7565b856020015134146129b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ad9061483e565b60405180910390fd5b5b612a9a565b600086602001511415612a6057856000015173ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401612a06919061452e565b60206040518083038186803b158015612a1e57600080fd5b505afa158015612a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a56919061476b565b8660200181815250505b612a993387604001518860200151896000015173ffffffffffffffffffffffffffffffffffffffff16613338909392919063ffffffff16565b5b612aa78686868686612e37565b905095945050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60606000805b8951811015612dd757600073ffffffffffffffffffffffffffffffffffffffff168a8281518110612bb057612baf614727565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff161415612c4a5760008a8281518110612bed57612bec614727565b5b6020026020010151602001511415612c2457348a8281518110612c1357612c12614727565b5b602002602001015160200181815250505b898181518110612c3757612c36614727565b5b6020026020010151602001519150612dc4565b60008a8281518110612c5f57612c5e614727565b5b6020026020010151602001511415612d3c57898181518110612c8457612c83614727565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401612cc8919061452e565b60206040518083038186803b158015612ce057600080fd5b505afa158015612cf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d18919061476b565b8a8281518110612d2b57612d2a614727565b5b602002602001015160200181815250505b612dc3338b8381518110612d5357612d52614727565b5b6020026020010151604001518c8481518110612d7257612d71614727565b5b6020026020010151602001518d8581518110612d9157612d90614727565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16613338909392919063ffffffff16565b5b8080612dcf90614798565b915050612b7c565b50803414612e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e119061483e565b60405180910390fd5b612e2989898989898989611c18565b915050979650505050505050565b600085608001518660a001511115612e84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e7b906155ce565b60405180910390fd5b60008660a0015111612ecb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ec290615274565b60405180910390fd5b856060015173ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff161415612f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f399061534c565b60405180910390fd5b6000612f518760600151612733565b90506000600167ffffffffffffffff811115612f7057612f6f613873565b5b604051908082528060200260200182016040528015612f9e5781602001602082028036833780820191505090505b509050876020015181600081518110612fba57612fb9614727565b5b6020026020010181815250508473ffffffffffffffffffffffffffffffffffffffff1663cb70e27334898985336040518663ffffffff1660e01b81526004016130069493929190614bf4565b6000604051808303818588803b15801561301f57600080fd5b505af1158015613033573d6000803e3d6000fd5b5050505050816130468960600151612733565b61305091906146f3565b925063800000008463ffffffff1611156131d0576000600360008663ffffffff1663ffffffff1681526020019081526020016000206040518060600160405290816000820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016000820160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160008201601c9054906101000a900460ff161515151581525050905061318c89606001518260200151600a670de0b6b3a76400006131579190614c3b565b6008856000015167ffffffffffffffff16896131739190614c3b565b61317d9190614c3b565b6131879190614fb5565b612802565b670de0b6b3a7640000816000015167ffffffffffffffff16670de0b6b3a76400006131b791906146f3565b856131c29190614c3b565b6131cc9190614fb5565b9350505b60008860800151846131e291906155f8565b905060008113156131f557886080015193505b8860a0015184101561323c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161323390614d37565b60405180910390fd5b61324f89606001518a60c0015186612802565b7f823eaf01002d7353fbcadb2ea3305cc46fa35d799cb0914846d185ac06f8ad05338a602001518b60000151878d60600151868b604051613296979695949392919061569b565b60405180910390a150505095945050505050565b600033905090565b6133338363a9059cbb60e01b84846040516024016132d192919061570a565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506133c1565b505050565b6133bb846323b872dd60e01b85858560405160240161335993929190615733565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506133c1565b50505050565b6000613423826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166134889092919063ffffffff16565b905060008151111561348357808060200190518101906134439190615796565b613482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161347990615835565b60405180910390fd5b5b505050565b606061349784846000856134a0565b90509392505050565b6060824710156134e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134dc906158c7565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161350e9190615918565b60006040518083038185875af1925050503d806000811461354b576040519150601f19603f3d011682016040523d82523d6000602084013e613550565b606091505b50915091506135618783838761356d565b92505050949350505050565b606083156135d0576000835114156135c857613588856135e3565b6135c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135be9061597b565b60405180910390fd5b5b8290506135db565b6135da8383613606565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156136195781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161364d91906159df565b60405180910390fd5b60405180606001604052806060815260200160008152602001600081525090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6040518060e00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060600160405280600067ffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000151581525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6138ab82613862565b810181811067ffffffffffffffff821117156138ca576138c9613873565b5b80604052505050565b60006138dd613849565b90506138e982826138a2565b919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061391e826138f3565b9050919050565b61392e81613913565b811461393957600080fd5b50565b60008135905061394b81613925565b92915050565b6000819050919050565b61396481613951565b811461396f57600080fd5b50565b6000813590506139818161395b565b92915050565b600080fd5b600080fd5b600067ffffffffffffffff8211156139ac576139ab613873565b5b6139b582613862565b9050602081019050919050565b82818337600083830152505050565b60006139e46139df84613991565b6138d3565b905082815260208101848484011115613a00576139ff61398c565b5b613a0b8482856139c2565b509392505050565b600082601f830112613a2857613a27613987565b5b8135613a388482602086016139d1565b91505092915050565b600060808284031215613a5757613a5661385d565b5b613a6160806138d3565b90506000613a718482850161393c565b6000830152506020613a8584828501613972565b6020830152506040613a9984828501613972565b604083015250606082013567ffffffffffffffff811115613abd57613abc6138ee565b5b613ac984828501613a13565b60608301525092915050565b600067ffffffffffffffff821115613af057613aef613873565b5b602082029050602081019050919050565b600080fd5b600060608284031215613b1c57613b1b61385d565b5b613b2660606138d3565b90506000613b368482850161393c565b6000830152506020613b4a84828501613972565b6020830152506040613b5e8482850161393c565b60408301525092915050565b6000613b7d613b7884613ad5565b6138d3565b90508083825260208201905060608402830185811115613ba057613b9f613b01565b5b835b81811015613bc95780613bb58882613b06565b845260208401935050606081019050613ba2565b5050509392505050565b600082601f830112613be857613be7613987565b5b8135613bf8848260208601613b6a565b91505092915050565b600067ffffffffffffffff821115613c1c57613c1b613873565b5b602082029050602081019050919050565b600060608284031215613c4357613c4261385d565b5b613c4d60606138d3565b90506000613c5d8482850161393c565b6000830152506020613c7184828501613972565b6020830152506040613c858482850161393c565b60408301525092915050565b6000613ca4613c9f84613c01565b6138d3565b90508083825260208201905060608402830185811115613cc757613cc6613b01565b5b835b81811015613cf05780613cdc8882613c2d565b845260208401935050606081019050613cc9565b5050509392505050565b600082601f830112613d0f57613d0e613987565b5b8135613d1f848260208601613c91565b91505092915050565b600080fd5b60008083601f840112613d4357613d42613987565b5b8235905067ffffffffffffffff811115613d6057613d5f613d28565b5b602083019150836001820283011115613d7c57613d7b613b01565b5b9250929050565b600063ffffffff82169050919050565b613d9c81613d83565b8114613da757600080fd5b50565b600081359050613db981613d93565b92915050565b60008060008060008060008060e0898b031215613ddf57613dde613853565b5b600089013567ffffffffffffffff811115613dfd57613dfc613858565b5b613e098b828c01613a41565b985050602089013567ffffffffffffffff811115613e2a57613e29613858565b5b613e368b828c01613bd3565b975050604089013567ffffffffffffffff811115613e5757613e56613858565b5b613e638b828c01613cfa565b9650506060613e748b828c01613972565b955050608089013567ffffffffffffffff811115613e9557613e94613858565b5b613ea18b828c01613d2d565b945094505060a0613eb48b828c0161393c565b92505060c0613ec58b828c01613daa565b9150509295985092959890939650565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613f0a81613951565b82525050565b6000613f1c8383613f01565b60208301905092915050565b6000602082019050919050565b6000613f4082613ed5565b613f4a8185613ee0565b9350613f5583613ef1565b8060005b83811015613f86578151613f6d8882613f10565b9750613f7883613f28565b925050600181019050613f59565b5085935050505092915050565b60006020820190508181036000830152613fad8184613f35565b905092915050565b60008083601f840112613fcb57613fca613987565b5b8235905067ffffffffffffffff811115613fe857613fe7613d28565b5b60208301915083602082028301111561400457614003613b01565b5b9250929050565b60008083601f84011261402157614020613987565b5b8235905067ffffffffffffffff81111561403e5761403d613d28565b5b60208301915083602082028301111561405a57614059613b01565b5b9250929050565b60008060008060006060868803121561407d5761407c613853565b5b600086013567ffffffffffffffff81111561409b5761409a613858565b5b6140a788828901613fb5565b9550955050602086013567ffffffffffffffff8111156140ca576140c9613858565b5b6140d68882890161400b565b935093505060406140e98882890161393c565b9150509295509295909350565b60008060008060008060a0878903121561411357614112613853565b5b600087013567ffffffffffffffff81111561413157614130613858565b5b61413d89828a01613bd3565b965050602087013567ffffffffffffffff81111561415e5761415d613858565b5b61416a89828a01613cfa565b955050604061417b89828a01613972565b945050606087013567ffffffffffffffff81111561419c5761419b613858565b5b6141a889828a01613d2d565b935093505060806141bb89828a0161393c565b9150509295509295509295565b600080602083850312156141df576141de613853565b5b600083013567ffffffffffffffff8111156141fd576141fc613858565b5b61420985828601613fb5565b92509250509250929050565b600060e0828403121561422b5761422a61385d565b5b61423560e06138d3565b905060006142458482850161393c565b600083015250602061425984828501613972565b602083015250604061426d8482850161393c565b60408301525060606142818482850161393c565b606083015250608061429584828501613972565b60808301525060a06142a984828501613972565b60a08301525060c06142bd8482850161393c565b60c08301525092915050565b600080600080600061014086880312156142e6576142e5613853565b5b60006142f488828901614215565b95505060e086013567ffffffffffffffff81111561431557614314613858565b5b61432188828901613d2d565b94509450506101006143358882890161393c565b92505061012061434788828901613daa565b9150509295509295909350565b61435d81613951565b82525050565b60006020820190506143786000830184614354565b92915050565b600080600080600080600060c0888a03121561439d5761439c613853565b5b600088013567ffffffffffffffff8111156143bb576143ba613858565b5b6143c78a828b01613bd3565b975050602088013567ffffffffffffffff8111156143e8576143e7613858565b5b6143f48a828b01613cfa565b96505060406144058a828b01613972565b955050606088013567ffffffffffffffff81111561442657614425613858565b5b6144328a828b01613d2d565b945094505060806144458a828b0161393c565b92505060a06144568a828b01613daa565b91505092959891949750929550565b600080600080600080610160878903121561448357614482613853565b5b600087013567ffffffffffffffff8111156144a1576144a0613858565b5b6144ad89828a01613a41565b96505060206144be89828a01614215565b95505061010087013567ffffffffffffffff8111156144e0576144df613858565b5b6144ec89828a01613d2d565b945094505061012061450089828a0161393c565b92505061014061451289828a01613daa565b9150509295509295509295565b61452881613913565b82525050565b6000602082019050614543600083018461451f565b92915050565b60006020828403121561455f5761455e613853565b5b600061456d84828501613972565b91505092915050565b600067ffffffffffffffff82169050919050565b61459381614576565b811461459e57600080fd5b50565b6000813590506145b08161458a565b92915050565b6000806000606084860312156145cf576145ce613853565b5b60006145dd86828701613daa565b93505060206145ee868287016145a1565b92505060406145ff8682870161393c565b9150509250925092565b60006020828403121561461f5761461e613853565b5b600061462d8482850161393c565b91505092915050565b60006020828403121561464c5761464b613853565b5b600061465a84828501613daa565b91505092915050565b61466c81614576565b82525050565b60008115159050919050565b61468781614672565b82525050565b60006060820190506146a26000830186614663565b6146af602083018561451f565b6146bc604083018461467e565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006146fe82613951565b915061470983613951565b92508282101561471c5761471b6146c4565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506147658161395b565b92915050565b60006020828403121561478157614780613853565b5b600061478f84828501614756565b91505092915050565b60006147a382613951565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156147d6576147d56146c4565b5b600182019050919050565b600082825260208201905092915050565b7f57726f6e67206d73672e76616c75650000000000000000000000000000000000600082015250565b6000614828600f836147e1565b9150614833826147f2565b602082019050919050565b600060208201905081810360008301526148578161481b565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61489381613913565b82525050565b6040820160008201516148af600085018261488a565b5060208201516148c26020850182613f01565b50505050565b60006148d48383614899565b60408301905092915050565b6000602082019050919050565b60006148f88261485e565b6149028185614869565b935061490d8361487a565b8060005b8381101561493e57815161492588826148c8565b9750614930836148e0565b925050600181019050614911565b5085935050505092915050565b6000606083016000830151848203600086015261496882826148ed565b915050602083015161497d6020860182613f01565b5060408301516149906040860182613f01565b508091505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6040820160008201516149dd600085018261488a565b5060208201516149f06020850182613f01565b50505050565b6000614a0283836149c7565b60408301905092915050565b6000602082019050919050565b6000614a268261499b565b614a3081856149a6565b9350614a3b836149b7565b8060005b83811015614a6c578151614a5388826149f6565b9750614a5e83614a0e565b925050600181019050614a3f565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614ab3578082015181840152602081019050614a98565b83811115614ac2576000848401525b50505050565b6000614ad382614a79565b614add8185614a84565b9350614aed818560208601614a95565b614af681613862565b840191505092915050565b60006080820190508181036000830152614b1b818761494b565b90508181036020830152614b2f8186614a1b565b9050614b3e604083018561451f565b8181036060830152614b508184614ac8565b905095945050505050565b7f496e76616c69642066756e6473207472616e7366657200000000000000000000600082015250565b6000614b916016836147e1565b9150614b9c82614b5b565b602082019050919050565b60006020820190508181036000830152614bc081614b84565b9050919050565b6000614bd38385614a84565b9350614be08385846139c2565b614be983613862565b840190509392505050565b60006060820190508181036000830152614c0f818688614bc7565b90508181036020830152614c238185613f35565b9050614c32604083018461451f565b95945050505050565b6000614c4682613951565b9150614c5183613951565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614c8a57614c896146c4565b5b828202905092915050565b6000614ca082613951565b9150614cab83613951565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614ce057614cdf6146c4565b5b828201905092915050565b7f536c697070616765204c696d6974204578636565646564000000000000000000600082015250565b6000614d216017836147e1565b9150614d2c82614ceb565b602082019050919050565b60006020820190508181036000830152614d5081614d14565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000614d8f838361488a565b60208301905092915050565b6000602082019050919050565b6000614db382614d57565b614dbd8185614d62565b9350614dc883614d73565b8060005b83811015614df9578151614de08882614d83565b9750614deb83614d9b565b925050600181019050614dcc565b5085935050505092915050565b6000819050919050565b6000819050919050565b6000614e35614e30614e2b84614e06565b614e10565b613d83565b9050919050565b614e4581614e1a565b82525050565b600060c082019050614e60600083018961451f565b8181036020830152614e728188613f35565b90508181036040830152614e868187614da8565b90508181036060830152614e9a8186613f35565b90508181036080830152614eae8185614da8565b9050614ebd60a0830184614e3c565b979650505050505050565b608082016000820151614ede6000850182614899565b506020820151614ef16040850182613f01565b506040820151614f046060850182613f01565b50505050565b604082016000820151614f20600085018261488a565b506020820151614f336020850182613f01565b50505050565b600061010082019050614f4f6000830187614ec8565b614f5c6080830186614f0a565b614f6960c083018561451f565b81810360e0830152614f7b8184614ac8565b905095945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614fc082613951565b9150614fcb83613951565b925082614fdb57614fda614f86565b5b828204905092915050565b7f46656520746f6f20686967680000000000000000000000000000000000000000600082015250565b600061501c600c836147e1565b915061502782614fe6565b602082019050919050565b6000602082019050818103600083015261504b8161500f565b9050919050565b7f436f646520696e20757365000000000000000000000000000000000000000000600082015250565b6000615088600b836147e1565b915061509382615052565b602082019050919050565b600060208201905081810360008301526150b78161507b565b9050919050565b7f496e76616c69642066656520666f7220636f6465000000000000000000000000600082015250565b60006150f46014836147e1565b91506150ff826150be565b602082019050919050565b60006020820190508181036000830152615123816150e7565b9050919050565b7f4e756c6c2062656e656669636961727900000000000000000000000000000000600082015250565b60006151606010836147e1565b915061516b8261512a565b602082019050919050565b6000602082019050818103600083015261518f81615153565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006151f26026836147e1565b91506151fd82615196565b604082019050919050565b60006020820190508181036000830152615221816151e5565b9050919050565b7f536c697070616765206c696d697420746f6f206c6f7700000000000000000000600082015250565b600061525e6016836147e1565b915061526982615228565b602082019050919050565b6000602082019050818103600083015261528d81615251565b9050919050565b7f4475706c696361746520736f7572636520746f6b656e73000000000000000000600082015250565b60006152ca6017836147e1565b91506152d582615294565b602082019050919050565b600060208201905081810360008301526152f9816152bd565b9050919050565b7f417262697472616765206e6f7420737570706f72746564000000000000000000600082015250565b60006153366017836147e1565b915061534182615300565b602082019050919050565b6000602082019050818103600083015261536581615329565b9050919050565b7f4475706c69636174652064657374696e6174696f6e20746f6b656e7300000000600082015250565b60006153a2601c836147e1565b91506153ad8261536c565b602082019050919050565b600060208201905081810360008301526153d181615395565b9050919050565b6153e181613d83565b82525050565b600060c0820190506153fc600083018961451f565b818103602083015261540e8188613f35565b905081810360408301526154228187614da8565b905081810360608301526154368186613f35565b9050818103608083015261544a8185614da8565b905061545960a08301846153d8565b979650505050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061549a6020836147e1565b91506154a582615464565b602082019050919050565b600060208201905081810360008301526154c98161548d565b9050919050565b600081905092915050565b50565b60006154eb6000836154d0565b91506154f6826154db565b600082019050919050565b600061550c826154de565b9150819050919050565b7f455448207472616e73666572206661696c656400000000000000000000000000600082015250565b600061554c6013836147e1565b915061555782615516565b602082019050919050565b6000602082019050818103600083015261557b8161553f565b9050919050565b7f4d696e696d756d2067726561746572207468616e2071756f7465000000000000600082015250565b60006155b8601a836147e1565b91506155c382615582565b602082019050919050565b600060208201905081810360008301526155e7816155ab565b9050919050565b6000819050919050565b6000615603826155ee565b915061560e836155ee565b9250827f800000000000000000000000000000000000000000000000000000000000000001821260008412151615615649576156486146c4565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018213600084121615615681576156806146c4565b5b828203905092915050565b615695816155ee565b82525050565b600060e0820190506156b0600083018a61451f565b6156bd6020830189614354565b6156ca604083018861451f565b6156d76060830187614354565b6156e4608083018661451f565b6156f160a083018561568c565b6156fe60c08301846153d8565b98975050505050505050565b600060408201905061571f600083018561451f565b61572c6020830184614354565b9392505050565b6000606082019050615748600083018661451f565b615755602083018561451f565b6157626040830184614354565b949350505050565b61577381614672565b811461577e57600080fd5b50565b6000815190506157908161576a565b92915050565b6000602082840312156157ac576157ab613853565b5b60006157ba84828501615781565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b600061581f602a836147e1565b915061582a826157c3565b604082019050919050565b6000602082019050818103600083015261584e81615812565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006158b16026836147e1565b91506158bc82615855565b604082019050919050565b600060208201905081810360008301526158e0816158a4565b9050919050565b60006158f282614a79565b6158fc81856154d0565b935061590c818560208601614a95565b80840191505092915050565b600061592482846158e7565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000615965601d836147e1565b91506159708261592f565b602082019050919050565b6000602082019050818103600083015261599481615958565b9050919050565b600081519050919050565b60006159b18261599b565b6159bb81856147e1565b93506159cb818560208601614a95565b6159d481613862565b840191505092915050565b600060208201905081810360008301526159f981846159a6565b90509291505056fea2646970667358221220121f6d0f79e768f59b1ced326ddf3e7cdab3f47e086f4aa2661966791cc10e0964736f6c63430008080033