{"abi":[{"type":"constructor","inputs":[{"name":"initialAdmin","type":"address","internalType":"address"},{"name":"initialNFTDescriptor","type":"address","internalType":"contract ISablierV2NFTDescriptor"},{"name":"maxSegmentCount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"MAX_BROKER_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"UD60x18"}],"stateMutability":"view"},{"type":"function","name":"MAX_SEGMENT_COUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"allowToHook","inputs":[{"name":"recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancel","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelMultiple","inputs":[{"name":"streamIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createWithDurations","inputs":[{"name":"params","type":"tuple","internalType":"struct LockupDynamic.CreateWithDurations","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"totalAmount","type":"uint128","internalType":"uint128"},{"name":"asset","type":"address","internalType":"contract IERC20"},{"name":"cancelable","type":"bool","internalType":"bool"},{"name":"transferable","type":"bool","internalType":"bool"},{"name":"segments","type":"tuple[]","internalType":"struct LockupDynamic.SegmentWithDuration[]","components":[{"name":"amount","type":"uint128","internalType":"uint128"},{"name":"exponent","type":"uint64","internalType":"UD2x18"},{"name":"duration","type":"uint40","internalType":"uint40"}]},{"name":"broker","type":"tuple","internalType":"struct Broker","components":[{"name":"account","type":"address","internalType":"address"},{"name":"fee","type":"uint256","internalType":"UD60x18"}]}]}],"outputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createWithTimestamps","inputs":[{"name":"params","type":"tuple","internalType":"struct LockupDynamic.CreateWithTimestamps","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"totalAmount","type":"uint128","internalType":"uint128"},{"name":"asset","type":"address","internalType":"contract IERC20"},{"name":"cancelable","type":"bool","internalType":"bool"},{"name":"transferable","type":"bool","internalType":"bool"},{"name":"startTime","type":"uint40","internalType":"uint40"},{"name":"segments","type":"tuple[]","internalType":"struct LockupDynamic.Segment[]","components":[{"name":"amount","type":"uint128","internalType":"uint128"},{"name":"exponent","type":"uint64","internalType":"UD2x18"},{"name":"timestamp","type":"uint40","internalType":"uint40"}]},{"name":"broker","type":"tuple","internalType":"struct Broker","components":[{"name":"account","type":"address","internalType":"address"},{"name":"fee","type":"uint256","internalType":"UD60x18"}]}]}],"outputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getAsset","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"asset","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getDepositedAmount","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depositedAmount","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"getEndTime","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"endTime","type":"uint40","internalType":"uint40"}],"stateMutability":"view"},{"type":"function","name":"getRecipient","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"recipient","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getRefundedAmount","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"refundedAmount","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"getSegments","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"segments","type":"tuple[]","internalType":"struct LockupDynamic.Segment[]","components":[{"name":"amount","type":"uint128","internalType":"uint128"},{"name":"exponent","type":"uint64","internalType":"UD2x18"},{"name":"timestamp","type":"uint40","internalType":"uint40"}]}],"stateMutability":"view"},{"type":"function","name":"getSender","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getStartTime","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"startTime","type":"uint40","internalType":"uint40"}],"stateMutability":"view"},{"type":"function","name":"getStream","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stream","type":"tuple","internalType":"struct LockupDynamic.StreamLD","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"startTime","type":"uint40","internalType":"uint40"},{"name":"endTime","type":"uint40","internalType":"uint40"},{"name":"isCancelable","type":"bool","internalType":"bool"},{"name":"wasCanceled","type":"bool","internalType":"bool"},{"name":"asset","type":"address","internalType":"contract IERC20"},{"name":"isDepleted","type":"bool","internalType":"bool"},{"name":"isStream","type":"bool","internalType":"bool"},{"name":"isTransferable","type":"bool","internalType":"bool"},{"name":"amounts","type":"tuple","internalType":"struct Lockup.Amounts","components":[{"name":"deposited","type":"uint128","internalType":"uint128"},{"name":"withdrawn","type":"uint128","internalType":"uint128"},{"name":"refunded","type":"uint128","internalType":"uint128"}]},{"name":"segments","type":"tuple[]","internalType":"struct LockupDynamic.Segment[]","components":[{"name":"amount","type":"uint128","internalType":"uint128"},{"name":"exponent","type":"uint64","internalType":"UD2x18"},{"name":"timestamp","type":"uint40","internalType":"uint40"}]}]}],"stateMutability":"view"},{"type":"function","name":"getTimestamps","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"timestamps","type":"tuple","internalType":"struct LockupDynamic.Timestamps","components":[{"name":"start","type":"uint40","internalType":"uint40"},{"name":"end","type":"uint40","internalType":"uint40"}]}],"stateMutability":"view"},{"type":"function","name":"getWithdrawnAmount","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawnAmount","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"isAllowedToHook","inputs":[{"name":"recipient","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isCancelable","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isCold","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepleted","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isStream","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isTransferable","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWarm","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nextStreamId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nftDescriptor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISablierV2NFTDescriptor"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"refundableAmountOf","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"refundableAmount","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"renounce","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNFTDescriptor","inputs":[{"name":"newNFTDescriptor","type":"address","internalType":"contract ISablierV2NFTDescriptor"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"statusOf","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"status","type":"uint8","internalType":"enum Lockup.Status"}],"stateMutability":"view"},{"type":"function","name":"streamedAmountOf","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"streamedAmount","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"uri","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferAdmin","inputs":[{"name":"newAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"wasCanceled","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"withdraw","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawMax","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"}],"outputs":[{"name":"withdrawnAmount","type":"uint128","internalType":"uint128"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawMaxAndTransfer","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"newRecipient","type":"address","internalType":"address"}],"outputs":[{"name":"withdrawnAmount","type":"uint128","internalType":"uint128"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawMultiple","inputs":[{"name":"streamIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint128[]","internalType":"uint128[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawableAmountOf","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawableAmount","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"event","name":"AllowToHook","inputs":[{"name":"admin","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"BatchMetadataUpdate","inputs":[{"name":"_fromTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_toTokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelLockupStream","inputs":[{"name":"streamId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"asset","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"senderAmount","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"recipientAmount","type":"uint128","indexed":false,"internalType":"uint128"}],"anonymous":false},{"type":"event","name":"CreateLockupDynamicStream","inputs":[{"name":"streamId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"funder","type":"address","indexed":false,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amounts","type":"tuple","indexed":false,"internalType":"struct Lockup.CreateAmounts","components":[{"name":"deposit","type":"uint128","internalType":"uint128"},{"name":"brokerFee","type":"uint128","internalType":"uint128"}]},{"name":"asset","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"cancelable","type":"bool","indexed":false,"internalType":"bool"},{"name":"transferable","type":"bool","indexed":false,"internalType":"bool"},{"name":"segments","type":"tuple[]","indexed":false,"internalType":"struct LockupDynamic.Segment[]","components":[{"name":"amount","type":"uint128","internalType":"uint128"},{"name":"exponent","type":"uint64","internalType":"UD2x18"},{"name":"timestamp","type":"uint40","internalType":"uint40"}]},{"name":"timestamps","type":"tuple","indexed":false,"internalType":"struct LockupDynamic.Timestamps","components":[{"name":"start","type":"uint40","internalType":"uint40"},{"name":"end","type":"uint40","internalType":"uint40"}]},{"name":"broker","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MetadataUpdate","inputs":[{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RenounceLockupStream","inputs":[{"name":"streamId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetNFTDescriptor","inputs":[{"name":"admin","type":"address","indexed":true,"internalType":"address"},{"name":"oldNFTDescriptor","type":"address","indexed":false,"internalType":"contract ISablierV2NFTDescriptor"},{"name":"newNFTDescriptor","type":"address","indexed":false,"internalType":"contract ISablierV2NFTDescriptor"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TransferAdmin","inputs":[{"name":"oldAdmin","type":"address","indexed":true,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"WithdrawFromLockupStream","inputs":[{"name":"streamId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"asset","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"amount","type":"uint128","indexed":false,"internalType":"uint128"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AddressInsufficientBalance","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"CallerNotAdmin","inputs":[{"name":"admin","type":"address","internalType":"address"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"DelegateCall","inputs":[]},{"type":"error","name":"ERC721IncorrectOwner","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InsufficientApproval","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC721InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721NonexistentToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FailedInnerCall","inputs":[]},{"type":"error","name":"PRBMath_MulDiv18_Overflow","inputs":[{"name":"x","type":"uint256","internalType":"uint256"},{"name":"y","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PRBMath_MulDiv_Overflow","inputs":[{"name":"x","type":"uint256","internalType":"uint256"},{"name":"y","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PRBMath_SD59x18_Div_InputTooSmall","inputs":[]},{"type":"error","name":"PRBMath_SD59x18_Div_Overflow","inputs":[{"name":"x","type":"int256","internalType":"SD59x18"},{"name":"y","type":"int256","internalType":"SD59x18"}]},{"type":"error","name":"PRBMath_SD59x18_Exp2_InputTooBig","inputs":[{"name":"x","type":"int256","internalType":"SD59x18"}]},{"type":"error","name":"PRBMath_SD59x18_IntoUint256_Underflow","inputs":[{"name":"x","type":"int256","internalType":"SD59x18"}]},{"type":"error","name":"PRBMath_SD59x18_Log_InputTooSmall","inputs":[{"name":"x","type":"int256","internalType":"SD59x18"}]},{"type":"error","name":"PRBMath_SD59x18_Mul_InputTooSmall","inputs":[]},{"type":"error","name":"PRBMath_SD59x18_Mul_Overflow","inputs":[{"name":"x","type":"int256","internalType":"SD59x18"},{"name":"y","type":"int256","internalType":"SD59x18"}]},{"type":"error","name":"SablierV2LockupDynamic_DepositAmountNotEqualToSegmentAmountsSum","inputs":[{"name":"depositAmount","type":"uint128","internalType":"uint128"},{"name":"segmentAmountsSum","type":"uint128","internalType":"uint128"}]},{"type":"error","name":"SablierV2LockupDynamic_SegmentCountTooHigh","inputs":[{"name":"count","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierV2LockupDynamic_SegmentCountZero","inputs":[]},{"type":"error","name":"SablierV2LockupDynamic_SegmentTimestampsNotOrdered","inputs":[{"name":"index","type":"uint256","internalType":"uint256"},{"name":"previousTimestamp","type":"uint40","internalType":"uint40"},{"name":"currentTimestamp","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"SablierV2LockupDynamic_StartTimeNotLessThanFirstSegmentTimestamp","inputs":[{"name":"startTime","type":"uint40","internalType":"uint40"},{"name":"firstSegmentTimestamp","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"SablierV2Lockup_AllowToHookUnsupportedInterface","inputs":[{"name":"recipient","type":"address","internalType":"address"}]},{"type":"error","name":"SablierV2Lockup_AllowToHookZeroCodeSize","inputs":[{"name":"recipient","type":"address","internalType":"address"}]},{"type":"error","name":"SablierV2Lockup_BrokerFeeTooHigh","inputs":[{"name":"brokerFee","type":"uint256","internalType":"UD60x18"},{"name":"maxBrokerFee","type":"uint256","internalType":"UD60x18"}]},{"type":"error","name":"SablierV2Lockup_DepositAmountZero","inputs":[]},{"type":"error","name":"SablierV2Lockup_EndTimeNotInTheFuture","inputs":[{"name":"blockTimestamp","type":"uint40","internalType":"uint40"},{"name":"endTime","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"SablierV2Lockup_InvalidHookSelector","inputs":[{"name":"recipient","type":"address","internalType":"address"}]},{"type":"error","name":"SablierV2Lockup_NotTransferable","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierV2Lockup_Null","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierV2Lockup_Overdraw","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint128","internalType":"uint128"},{"name":"withdrawableAmount","type":"uint128","internalType":"uint128"}]},{"type":"error","name":"SablierV2Lockup_StartTimeZero","inputs":[]},{"type":"error","name":"SablierV2Lockup_StreamCanceled","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierV2Lockup_StreamDepleted","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierV2Lockup_StreamNotCancelable","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierV2Lockup_StreamNotDepleted","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierV2Lockup_StreamSettled","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierV2Lockup_Unauthorized","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"SablierV2Lockup_WithdrawAmountZero","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierV2Lockup_WithdrawArrayCountsNotEqual","inputs":[{"name":"streamIdsCount","type":"uint256","internalType":"uint256"},{"name":"amountsCount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierV2Lockup_WithdrawToZeroAddress","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierV2Lockup_WithdrawalAddressNotRecipient","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"caller","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60c0604052346103e457615a506060813803918261001c816103e8565b9384928339810103126103e45780516001600160a01b038116908190036103e45760208201516001600160a01b03811692908390036103e4576040015161006360406103e8565b92601d84527f5361626c696572205632204c6f636b75702044796e616d6963204e4654000000602085015261009860406103e8565b601181527029a0a116ab1916a627a1a5aaa816a22ca760791b602082015230608052845190946001600160401b0382116102e75760015490600182811c921680156103da575b60208310146102c95781601f84931161036c575b50602090601f8311600114610306575f926102fb575b50508160011b915f199060031b1c1916176001555b83516001600160401b0381116102e757600254600181811c911680156102dd575b60208210146102c957601f8111610266575b50602094601f8211600114610203579481929394955f926101f8575b50508160011b915f199060031b1c1916176002555b5f80546001600160a01b031990811685178255600880549091169290921790915560405192907fbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf808180a360a0526001600755615642908161040e823960805181613935015260a051818181610bca01526139ff0152f35b015190505f8061016c565b601f1982169560025f52805f20915f5b88811061024e57508360019596979810610236575b505050811b01600255610181565b01515f1960f88460031b161c191690555f8080610228565b91926020600181928685015181550194019201610213565b60025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace601f830160051c810191602084106102bf575b601f0160051c01905b8181106102b45750610150565b5f81556001016102a7565b909150819061029e565b634e487b7160e01b5f52602260045260245ffd5b90607f169061013e565b634e487b7160e01b5f52604160045260245ffd5b015190505f80610108565b60015f9081528281209350601f198516905b818110610354575090846001959493921061033c575b505050811b0160015561011d565b01515f1960f88460031b161c191690555f808061032e565b92936020600181928786015181550195019301610318565b60015f529091507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f840160051c810191602085106103d0575b90601f859493920160051c01905b8181106103c257506100f2565b5f81558493506001016103b5565b90915081906103a7565b91607f16916100de565b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176102e75760405256fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146127c657508063027b6744146127a457806306fdde03146126e9578063081812fc146126cb578063095ea7b3146125c65780631400ecec146125155780631c1cdd4c146124b15780631e99d5691461249457806323b872dd1461247d578063303acc851461244057806331df3d481461232d578063406887cb146121be57806340e58ee514611ea5578063425d30dd14611e5557806342842e0e14611e2c57806342966c6814611c685780634426757014611c425780634857501f14611bd15780634869e12d14611b975780634cc55e1114611a9f57806354c02292146117ee57806357404b12146117605780636352211e146117315780636d0cee751461173157806370a08231146116c757806375829def146116595780637cad6cd1146115685780637de6b1db146113e95780638659c27014610feb578063894e9a0d14610cbc5780638f69b99314610c3c5780639067b67714610bed5780639188ec8414610bb357806395d89b4114610aab578063a22cb465146109f7578063a80fc071146109a6578063ad35efd414610947578063b2564569146108f7578063b637b8651461089e578063b88d4fde14610816578063b8a3be66146107e1578063b971302a14610793578063bc2be1be14610744578063c156a11d1461060e578063c87b56dd146104f8578063d4dbd20b146104a7578063d511609f1461045c578063d975dfed14610422578063e985e9c5146103c9578063ea5ead1914610385578063eac8f5b814610334578063f590c176146102d9578063f851a440146102b45763fdd46d601461026e575f80fd5b346102b05760603660031901126102b0576102876128f3565b6044356001600160801b03811681036102b0576102ae916102a661392b565b6004356133df565b005b5f80fd5b346102b0575f3660031901126102b05760206001600160a01b035f5416604051908152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a602052602060405f205460f81c6040519015158152f35b62b8e7e760e51b5f5260045260245ffd5b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a60205260206001600160a01b03600160405f20015416604051908152f35b346102b05760403660031901126102b05760206004356103b86103a66128f3565b916103b081614206565b928391613082565b6001600160801b0360405191168152f35b346102b05760403660031901126102b0576103e26128dd565b6001600160a01b036103f26128f3565b91165f5260066020526001600160a01b0360405f2091165f52602052602060ff60405f2054166040519015158152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323576103b8602091614206565b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a6020526020600260405f20015460801c604051908152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a60205260206001600160801b03600360405f20015416604051908152f35b346102b05760203660031901126102b057600435610515816136ad565b505f6001600160a01b0360085416916044604051809481937fe9dc637500000000000000000000000000000000000000000000000000000000835230600484015260248301525afa8015610603575f90610586575b610582906040519182916020835260208301906128b8565b0390f35b503d805f833e6105968183612a76565b8101906020818303126102b05780519067ffffffffffffffff82116102b057019080601f830112156102b0578151916105ce83612a98565b916105dc6040519384612a76565b838352602084830101116102b057610582926105fe9160208085019101612897565b61056a565b6040513d5f823e3d90fd5b346102b05760403660031901126102b05760043561062a6128f3565b61063261392b565b815f52600a60205260ff600160405f20015460a81c161561073257815f5260036020526001600160a01b0360405f205416908133036107125761067483614206565b6001600160801b0381169182610702575b6001600160a01b038116156106ef576106a6856001600160a01b03926137f1565b1692836106c05784637e27328960e01b5f5260045260245ffd5b80859185036106d457602084604051908152f35b8492506364283d7b60e01b5f5260045260245260445260645ffd5b633250574960e11b5f525f60045260245ffd5b61070d828587613082565b610685565b8263216caf0d60e01b5f526004526001600160a01b03331660245260445ffd5b5062b8e7e760e51b5f5260045260245ffd5b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a602052602064ffffffffff60405f205460a01c16604051908152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a60205260206001600160a01b0360405f205416604051908152f35b346102b05760203660031901126102b0576004355f52600a602052602060ff600160405f20015460a81c166040519015158152f35b346102b05760803660031901126102b05761082f6128dd565b6108376128f3565b6064359167ffffffffffffffff83116102b057366023840112156102b05782600401359161086483612a98565b926108726040519485612a76565b80845236602482870101116102b0576020815f9260246102ae9801838801378501015260443591612f92565b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600b6020526105826108e360405f20612f0b565b604051918291602083526020830190612988565b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a602052602060ff600160405f20015460b01c166040519015158152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c16156103235761097f9061375d565b6040516005821015610992576020918152f35b634e487b7160e01b5f52602160045260245ffd5b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a60205260206001600160801b03600260405f20015416604051908152f35b346102b05760403660031901126102b057610a106128dd565b602435908115158092036102b0576001600160a01b0316908115610a7f57335f52600660205260405f20825f5260205260405f2060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b507f5b08ba18000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102b0575f3660031901126102b0576040515f6002548060011c90600181168015610ba9575b602083108114610b9557828552908115610b715750600114610b13575b61058283610aff81850382612a76565b6040519182916020835260208301906128b8565b91905060025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace915f905b808210610b5757509091508101602001610aff610aef565b919260018160209254838588010152019101909291610b3f565b60ff191660208086019190915291151560051b84019091019150610aff9050610aef565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610ad2565b346102b0575f3660031901126102b05760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a602052602064ffffffffff60405f205460c81c16604051908152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c161561032357610c749061375d565b6005811015806109925760028214908115610cb0575b8115610c9e575b6020826040519015158152f35b90506109925760046020911482610c91565b5050600381145f610c8a565b346102b05760203660031901126102b057600435604051610180810181811067ffffffffffffffff821117610fd757606091610160916040525f81525f60208201525f60408201525f838201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201525f610120820152610d37612ebb565b6101408201520152805f52600a60205260ff600160405f20015460a81c161561032357805f52600a60205260405f20604051610d7281612a59565b8154906001600160a01b0382168152602081019264ffffffffff8360a01c1684526040820164ffffffffff8460c81c168152606083019160ff8560f01c1615158352608084019460f81c1515855260018101549160a08501946001600160a01b038416865260c0810160ff8560a01c1615158152610e11600260e084019560ff8860a81c161515875260ff61010086019860b01c161515885201612ed9565b61012083019081526002610e248c61375d565b610e2d816129fa565b14610fcf575b5196516001600160a01b0316925164ffffffffff1695511515905115159351151594511515958a5f52600360205260405f20546001600160a01b03169a5f52600b60205260405f2092516001600160a01b0316995164ffffffffff1698511515926040519a610ea46101808d612a76565b8b5260208b019b8c5260408b01998a5260608b0191825260808b0192835260a08b0193845260c08b0194855260e08b019586526101008b019687526101208b019788526101408b01988952610ef890612f0b565b986101608b01998a526040519b8c9b60208d52516001600160a01b031660208d0152516001600160a01b031660408c01525164ffffffffff1660608b01525164ffffffffff1660808a015251151560a089015251151560c0880152516001600160a01b031660e08701525115156101008601525115156101208501525115156101408401525180516001600160801b031661016084015260208101516001600160801b0316610180840152604001516001600160801b03166101a0830152516101c082016101c090526101e0820161058291612988565b5f8752610e33565b634e487b7160e01b5f52604160045260245ffd5b346102b05760203660031901126102b05760043567ffffffffffffffff81116102b05761101c903690600401612957565b9061102561392b565b5f915b80831061103157005b61103c838284612e4a565b359261104661392b565b835f52600a60205260ff600160405f20015460a81c16156113d657835f52600a60205260ff600160405f20015460a01c165f146110905783634a5541ef60e01b5f5260045260245ffd5b909192805f52600a60205260405f205460f81c6113c4576110c5815f52600a6020526001600160a01b0360405f205416331490565b156113ae576110d3816136ce565b90805f52600a6020526110eb600260405f2001612ed9565b916001600160801b038351166001600160801b038216101561139a57815f52600a60205260ff60405f205460f01c161561138657806001600160801b0360208161113f948188511603169501511690612aea565b5f828152600a6020526040902080547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b179055916001600160801b038316908115611361575b825f52600a602052600360405f20016001600160801b0382166fffffffffffffffffffffffffffffffff19825416179055825f52600a6020526001600160a01b0360405f205416835f5260036020526001600160a01b0360405f20541694845f52600a60205285827f5edb27d6c1a327513b90a792050debf074b7194444885e3144d4decc5caaaa5061125a6001600160a01b03600160405f2001541694611232888588614660565b604080518b81526001600160801b03808b166020830152909216908201529081906060820190565b0390a47ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051868152a160ff6112a4866001600160a01b03165f52600960205260405f2090565b54166112ba575b50505050506001019190611028565b60405193630d4af11f60e31b855260048501526024840152604483015260648201526020816084815f865af190811561060357630d4af11f60e31b916001600160e01b0319915f91611333575b50160361131757808080806112ab565b632187e5e760e21b5f526001600160a01b03602491166004525ffd5b611354915060203d811161135a575b61134c8183612a76565b81019061368d565b87611307565b503d611342565b825f52600a602052600160405f2001600160a01b60ff60a01b19825416179055611189565b506339c6dc7360e21b5f526024906004525ffd5b506322cad1af60e11b5f526024906004525ffd5b63216caf0d60e01b5f526004523360245260445ffd5b63fe19f19f60e01b5f5260045260245ffd5b8362b8e7e760e51b5f526024906004525ffd5b346102b05760203660031901126102b05760043561140561392b565b805f52600a60205260ff600160405f20015460a81c1615610323576114298161375d565b611432816129fa565b6004810361144d5750634a5541ef60e01b5f5260045260245ffd5b611456816129fa565b60038103611471575063fe19f19f60e01b5f5260045260245ffd5b60029061147d816129fa565b14611556576114a0815f52600a6020526001600160a01b0360405f205416331490565b1561153757805f52600a60205260ff60405f205460f01c1615611525576020817ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7925f52600a825260405f2060ff60f01b19815416905560405190807f0eb069207093cd3e51cd1370d2d369770057fbe29947e577e5fb428c6c6fc78f5f80a28152a1005b6339c6dc7360e21b5f5260045260245ffd5b63216caf0d60e01b5f526004526001600160a01b03331660245260445ffd5b6322cad1af60e11b5f5260045260245ffd5b346102b05760203660031901126102b0576004356001600160a01b0381168091036102b0576001600160a01b035f5416338103611643575060085490806001600160a01b03198316176008556001600160a01b036040519216825260208201527fa2548bd4b805e907c1558a47b5858324fe8bb4a2e1ddfca647eecbf65610eebc60403392a26007545f19810190811161162f5760407f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91815190600182526020820152a1005b634e487b7160e01b5f52601160045260245ffd5b6331b339a960e21b5f526004523360245260445ffd5b346102b05760203660031901126102b0576116726128dd565b5f546001600160a01b03811633810361164357506001600160a01b036001600160a01b0319921691829116175f55337fbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf805f80a3005b346102b05760203660031901126102b0576001600160a01b036116e86128dd565b168015611705575f526004602052602060405f2054604051908152f35b7f89c62b64000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b346102b05760203660031901126102b057602061174f6004356136ad565b6001600160a01b0360405191168152f35b346102b05760203660031901126102b05760043561177c612ea3565b50805f52600a60205260ff600160405f20015460a81c1615610323575f908152600a6020526040908190205481519064ffffffffff60c882901c81169160a01c166117c683612a3d565b825260208201526117ec8251809264ffffffffff60208092828151168552015116910152565bf35b346102b05760203660031901126102b05760043567ffffffffffffffff81116102b0578036036101206003198201126102b05761182961392b565b60c482013590602219018112156102b057810160048101359067ffffffffffffffff82116102b05760240160608202360381136102b05761186b913691612d66565b9081519161187883612d4e565b926118866040519485612a76565b808452601f1961189582612d4e565b015f5b818110611a8857505064ffffffffff4216916001600160801b036118bb82613985565b51511667ffffffffffffffff60206118d284613985565b5101511664ffffffffff8060406118e886613985565b5101511686011690604051926118fd84612a21565b83526020830152604082015261191286613985565b5261191c85613985565b5060015b8281106119f45750505061193682600401612e82565b9261194360248401612e82565b9261195060448201612e6e565b916064820135936001600160a01b0385168095036102b0576020966119ec966119ac966001600160801b036119e1976001600160a01b0361199360848a01612e96565b94816119a160a48c01612e96565b976040519d8e612a04565b168c52168c8b0152166040890152606088015215156080870152151560a086015260c085015260e084015260e4369101612e03565b6101008201526139a6565b604051908152f35b806001600160801b03611a0960019385613992565b51511667ffffffffffffffff6020611a218487613992565b5101511664ffffffffff806040611a3b5f1987018d613992565b51015116816040611a4c878a613992565b5101511601169060405192611a6084612a21565b835260208301526040820152611a768289613992565b52611a818188613992565b5001611920565b602090611a93612ebb565b82828901015201611898565b346102b05760403660031901126102b05760043567ffffffffffffffff81116102b057611ad0903690600401612957565b9060243567ffffffffffffffff81116102b057611af1903690600401612957565b9091611afb61392b565b818403611b67575f5b848110611b0d57005b80611b61611b1e6001938886612e4a565b35611b2a838987612e4a565b355f5260036020526001600160a01b0360405f205416611b53611b4e85898b612e4a565b612e6e565b91611b5c61392b565b6133df565b01611b04565b50827faec93440000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323576103b8602091614156565b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f611c0a8261375d565b600581101561099257600203611c28575b6020906040519015158152f35b505f52600a602052602060ff60405f205460f01c16611c1b565b346102b0575f3660031901126102b05760206001600160a01b0360085416604051908152f35b346102b05760203660031901126102b057600435611c8461392b565b805f52600a60205260ff600160405f20015460a81c161561032357805f52600a60205260ff600160405f20015460a01c1615611e0157611cc3816140e4565b156113ae57805f5260036020526001600160a01b0360405f205416151580611dfa575b80611ddd575b611dcb577ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051838152a1805f5260036020526001600160a01b0360405f2054168015908115611d94575b825f52600360205260405f206001600160a01b03198154169055825f827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a450611d8257005b637e27328960e01b5f5260045260245ffd5b611db3835f52600560205260405f206001600160a01b03198154169055565b805f52600460205260405f205f198154019055611d3a565b630da9b01360e01b5f5260045260245ffd5b50805f52600a60205260ff600160405f20015460b01c1615611cec565b505f611ce6565b7f817cd639000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102b0576102ae611e3d3661291d565b9060405192611e4d602085612a76565b5f8452612f92565b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a602052602060ff600160405f20015460a01c166040519015158152f35b346102b05760203660031901126102b057600435611ec161392b565b805f52600a60205260ff600160405f20015460a81c161561032357805f52600a60205260ff600160405f20015460a01c165f14611f0a57634a5541ef60e01b5f5260045260245ffd5b805f52600a60205260405f205460f81c6113c457611f3c815f52600a6020526001600160a01b0360405f205416331490565b1561153757611f4a816136ce565b90805f52600a602052611f62600260405f2001612ed9565b916001600160801b038351166001600160801b03821610156121ab57815f52600a60205260ff60405f205460f01c161561219857806001600160801b03602081611fb6948188511603169501511690612aea565b5f828152600a6020526040902080547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b179055916001600160801b038316908115612173575b825f52600a602052600360405f20016001600160801b0382166fffffffffffffffffffffffffffffffff19825416179055825f52600a6020526001600160a01b0360405f205416835f5260036020526001600160a01b0360405f20541694845f52600a60205285827f5edb27d6c1a327513b90a792050debf074b7194444885e3144d4decc5caaaa506120a96001600160a01b03600160405f2001541694611232888588614660565b0390a47ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051868152a1845f52600960205260ff60405f2054166120ec57005b60405193630d4af11f60e31b855260048501526024840152604483015260648201526020816084815f865af190811561060357630d4af11f60e31b916001600160e01b0319915f91612154575b50160361214257005b632187e5e760e21b5f5260045260245ffd5b61216d915060203d60201161135a5761134c8183612a76565b84612139565b825f52600a602052600160405f2001600160a01b60ff60a01b19825416179055612000565b506339c6dc7360e21b5f5260045260245ffd5b506322cad1af60e11b5f5260045260245ffd5b346102b05760203660031901126102b0576121d76128dd565b6001600160a01b035f54169033820361231657806001600160a01b03913b156122ea57166040516301ffc9a760e01b81527ff8ee98d3000000000000000000000000000000000000000000000000000000006004820152602081602481855afa908115610603575f916122bb575b501561229057805f52600960205260405f20600160ff198254161790556040519081527fb4378d4e289cb3f40f4f75a99c9cafa76e3df1c4dc31309babc23dc91bd7280160203392a2005b7f7fb843ea000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6122dd915060203d6020116122e3575b6122d58183612a76565b810190612e32565b82612245565b503d6122cb565b7f5a2b2d83000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b506331b339a960e21b5f526004523360245260445ffd5b346102b05760203660031901126102b05760043567ffffffffffffffff81116102b05761014060031982360301126102b05761236761392b565b6040519061237482612a04565b61238081600401612909565b825261238e60248201612909565b602083015261239f60448201612ab4565b604083015260648101356001600160a01b03811681036102b05760608301526123ca608482016129ed565b60808301526123db60a482016129ed565b60a08301526123ec60c48201612d3c565b60c083015260e481013567ffffffffffffffff81116102b057810191366023840112156102b0576119e16119ec926124306020953690602460048201359101612d66565b60e0840152610104369101612e03565b346102b05760203660031901126102b0576001600160a01b036124616128dd565b165f526009602052602060ff60405f2054166040519015158152f35b346102b0576102ae61248e3661291d565b91612b0a565b346102b0575f3660031901126102b0576020600754604051908152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323576124e99061375d565b600581101561099257806020911590811561250a575b506040519015158152f35b6001915014826124ff565b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323576020905f90805f52600a835260ff60405f205460f01c16806125aa575b612578575b506001600160801b0360405191168152f35b6125a49150805f52600a835261259e6001600160801b03600260405f20015416916136ce565b90612aea565b82612566565b50805f52600a835260ff600160405f20015460a01c1615612561565b346102b05760403660031901126102b0576125df6128dd565b6024356125eb816136ad565b331515806126b8575b80612685575b6126595781906001600160a01b0380851691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f5260056020526001600160a01b0360405f2091166001600160a01b03198254161790555f80f35b7fa9fbf51f000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b506001600160a01b0381165f52600660205260405f206001600160a01b0333165f5260205260ff60405f205416156125fa565b50336001600160a01b03821614156125f4565b346102b05760203660031901126102b057602061174f600435612ac8565b346102b0575f3660031901126102b0576040515f6001548060011c9060018116801561279a575b602083108114610b9557828552908115610b71575060011461273c5761058283610aff81850382612a76565b91905060015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f905b80821061278057509091508101602001610aff610aef565b919260018160209254838588010152019101909291612768565b91607f1691612710565b346102b0575f3660031901126102b057602060405167016345785d8a00008152f35b346102b05760203660031901126102b057600435906001600160e01b031982168092036102b057817f490649060000000000000000000000000000000000000000000000000000000060209314908115612822575b5015158152f35b7f80ac58cd0000000000000000000000000000000000000000000000000000000081149150811561286d575b811561285c575b508361281b565b6301ffc9a760e01b91501483612855565b7f5b5e139f000000000000000000000000000000000000000000000000000000008114915061284e565b5f5b8381106128a85750505f910152565b8181015183820152602001612899565b906020916128d181518092818552858086019101612897565b601f01601f1916010190565b600435906001600160a01b03821682036102b057565b602435906001600160a01b03821682036102b057565b35906001600160a01b03821682036102b057565b60609060031901126102b0576004356001600160a01b03811681036102b057906024356001600160a01b03811681036102b0579060443590565b9181601f840112156102b05782359167ffffffffffffffff83116102b0576020808501948460051b0101116102b057565b90602080835192838152019201905f5b8181106129a55750505090565b9091926020606060019264ffffffffff604088516001600160801b03815116845267ffffffffffffffff86820151168685015201511660408201520194019101919091612998565b359081151582036102b057565b6005111561099257565b610120810190811067ffffffffffffffff821117610fd757604052565b6060810190811067ffffffffffffffff821117610fd757604052565b6040810190811067ffffffffffffffff821117610fd757604052565b610140810190811067ffffffffffffffff821117610fd757604052565b90601f8019910116810190811067ffffffffffffffff821117610fd757604052565b67ffffffffffffffff8111610fd757601f01601f191660200190565b35906001600160801b03821682036102b057565b612ad1816136ad565b505f5260056020526001600160a01b0360405f20541690565b906001600160801b03809116911603906001600160801b03821161162f57565b91906001600160a01b031680156106ef57815f5260036020526001600160a01b0360405f205416151580612d34575b80612d17575b612d04577ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051848152a1815f5260036020526001600160a01b0360405f20541692823315159283612c4f575b6001600160a01b03935085612c18575b805f52600460205260405f2060018154019055815f52600360205260405f20816001600160a01b0319825416179055857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a416808303612c0057505050565b6364283d7b60e01b5f5260045260245260445260645ffd5b612c37825f52600560205260405f206001600160a01b03198154169055565b855f52600460205260405f205f198154019055612b9f565b9192905080612cad575b15612c6657828291612b8f565b8284612c7e57637e27328960e01b5f5260045260245ffd5b7f177e802f000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b503384148015612cdb575b80612c595750825f526005602052336001600160a01b0360405f20541614612c59565b50835f52600660205260405f206001600160a01b0333165f5260205260ff60405f205416612cb8565b50630da9b01360e01b5f5260045260245ffd5b50815f52600a60205260ff600160405f20015460b01c1615612b3f565b506001612b39565b359064ffffffffff821682036102b057565b67ffffffffffffffff8111610fd75760051b60200190565b929192612d7282612d4e565b93612d806040519586612a76565b60606020868581520193028201918183116102b057925b828410612da45750505050565b6060848303126102b05760405190612dbb82612a21565b612dc485612ab4565b825260208501359067ffffffffffffffff821682036102b05782602092836060950152612df360408801612d3c565b6040820152815201930192612d97565b91908260409103126102b057604051612e1b81612a3d565b6020808294612e2981612909565b84520135910152565b908160209103126102b0575180151581036102b05790565b9190811015612e5a5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160801b03811681036102b05790565b356001600160a01b03811681036102b05790565b3580151581036102b05790565b60405190612eb082612a3d565b5f6020838281520152565b60405190612ec882612a21565b5f6040838281528260208201520152565b90604051612ee681612a21565b60406001600160801b03600183958054838116865260801c6020860152015416910152565b908154612f1781612d4e565b92612f256040519485612a76565b81845260208401905f5260205f205f915b838310612f435750505050565b600160208192604051612f5581612a21565b64ffffffffff86546001600160801b038116835267ffffffffffffffff8160801c168584015260c01c166040820152815201920192019190612f36565b90612f9e838284612b0a565b803b612fab575b50505050565b602091612ff16001600160a01b03809316956040519586948594630a85bd0160e11b865233600487015216602485015260448401526080606484015260848301906128b8565b03815f865af15f9181613061575b5061302d575061300d6141d7565b805190816130285782633250574960e11b5f5260045260245ffd5b602001fd5b6001600160e01b0319630a85bd0160e11b91160361304f57505f808080612fa5565b633250574960e11b5f5260045260245ffd5b61307b91925060203d60201161135a5761134c8183612a76565b905f612fff565b9061308b61392b565b815f52600a60205260ff600160405f20015460a81c161561073257815f52600a60205260ff600160405f20015460a01c166133cc576001600160a01b03811680156133a0576001600160801b03841691821561337457835f5260036020526001600160a01b0360405f205416948583141580613364575b613330576001600160801b0361311786614206565b168085116132fd575061313c90855f52600a602052600260405f20015460801c61422c565b5f858152600a6020526040902060020180546001600160801b031660809290921b6fffffffffffffffffffffffffffffffff191691909117815561317f90612ed9565b6001600160801b036131a38160208401511692826040818351169201511690612aea565b1611156132cb575b835f52600a6020526131cf836001600160a01b03600160405f200154169283614660565b81847f40b88e5c41c5a97ffb7b6ef88a0a2d505aa0c634cf8a0275cb236ea7dd87ed4d6020604051878152a47ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051858152a183331415806132b5575b6132395750505050565b604051926392b9102b60e01b84526004840152336024840152604483015260648201526020816084815f865af1908115610603576392b9102b60e01b916001600160e01b0319915f91613296575b50160361214257808080612fa5565b6132af915060203d60201161135a5761134c8183612a76565b5f613287565b50835f52600960205260ff60405f20541661322f565b5f848152600a6020526040902060018101805460ff60a01b1916600160a01b179055805460ff60f01b191690556131ab565b84867fa1fb2bbc000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b82857fb34359d3000000000000000000000000000000000000000000000000000000005f526004523360245260445260645ffd5b5061336e856140e4565b15613102565b837fd2aabcd9000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b827f7fbf7168000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b50634a5541ef60e01b5f5260045260245ffd5b90815f52600a60205260ff600160405f20015460a81c161561073257815f52600a60205260ff600160405f20015460a01c166133cc576001600160a01b03811680156133a0576001600160801b03841691821561337457835f5260036020526001600160a01b0360405f20541694858314158061367d575b613330576001600160801b0361346c86614206565b168085116132fd575061349190855f52600a602052600260405f20015460801c61422c565b5f858152600a6020526040902060020180546001600160801b031660809290921b6fffffffffffffffffffffffffffffffff19169190911781556134d490612ed9565b6001600160801b036134f88160208401511692826040818351169201511690612aea565b16111561364b575b835f52600a602052613524836001600160a01b03600160405f200154169283614660565b81847f40b88e5c41c5a97ffb7b6ef88a0a2d505aa0c634cf8a0275cb236ea7dd87ed4d6020604051878152a47ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051858152a18333141580613626575b61358e5750505050565b604051926392b9102b60e01b84526004840152336024840152604483015260648201526020816084815f865af1908115610603576392b9102b60e01b916001600160e01b0319915f91613607575b5016036135eb57808080612fa5565b6001600160a01b0390632187e5e760e21b5f521660045260245ffd5b613620915060203d60201161135a5761134c8183612a76565b5f6135dc565b5060ff613644856001600160a01b03165f52600960205260405f2090565b5416613584565b5f848152600a6020526040902060018101805460ff60a01b1916600160a01b179055805460ff60f01b19169055613500565b50613687856140e4565b15613457565b908160209103126102b057516001600160e01b0319811681036102b05790565b805f5260036020526001600160a01b0360405f205416908115611d82575090565b64ffffffffff4216815f52600a6020528064ffffffffff60405f205460a01c16101561375757815f52600a60205264ffffffffff60405f205460c81c16111561373c57805f52600b602052600160405f2054115f14613733576137309061430c565b90565b6137309061424c565b5f52600a6020526001600160801b03600260405f2001541690565b50505f90565b805f52600a60205260ff600160405f20015460a01c165f1461377f5750600490565b805f52600a60205260405f205460f81c6137eb57805f52600a60205264ffffffffff60405f205460a01c1642106137e6576137b9816136ce565b905f52600a6020526001600160801b0380600260405f200154169116105f146137e157600190565b600290565b505f90565b50600390565b90805f5260036020526001600160a01b0360405f205416151580613919575b806138fc575b611dcb577ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051838152a1805f5260036020526001600160a01b038060405f20541692836138c5575b16806138ad575b815f52600360205260405f20816001600160a01b0319825416179055827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a490565b805f52600460205260405f2060018154019055613869565b6138e4835f52600560205260405f206001600160a01b03198154169055565b835f52600460205260405f205f198154019055613862565b50805f52600a60205260ff600160405f20015460b01c1615613816565b506001600160a01b0382161515613810565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361395d57565b7fa1c0d6e5000000000000000000000000000000000000000000000000000000005f5260045ffd5b805115612e5a5760200190565b8051821015612e5a5760209160051b010190565b906139c86001600160801b036040840151166020610100850151015190614522565b916001600160801b038351169060e08101519160c082019264ffffffffff84511682156140bc578015614094578151801561406c577f00000000000000000000000000000000000000000000000000000000000000008111614041575064ffffffffff6040613a3684613985565b51015116811015613ffd57505f905f905f81515f905b808210613f75575050505064ffffffffff80421691169081811015613f475750506001600160801b031690818103613f1957505060075493845f52600a60205260405f20916001600160801b038251166001600160801b036002850191166fffffffffffffffffffffffffffffffff198254161790556001600160a01b03606082015116916001600160a01b036001850193166001600160a01b031984541617835560808201948551151560ff60f01b197eff00000000000000000000000000000000000000000000000000000000000087549260f01b169116178555835493750100000000000000000000000000000000000000000060a08501957fffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff76ff000000000000000000000000000000000000000000008851151560b01b169116171790556001600160a01b0380845116166001600160a01b03198654161785555184549060e0840151917fffff00000000000000000000ffffffffffffffffffffffffffffffffffffffff78ffffffffff00000000000000000000000000000000000000007dffffffffff000000000000000000000000000000000000000000000000006040613c218751975f19890190613992565b51015160c81b169360a01b169116171785555f5b818110613e0b575050600187016007556001600160a01b0360208301511680156106ef57613c6b886001600160a01b03926137f1565b16613ddf578682613cb96001600160a01b0360607f33eb09bbf19ea3fb22c760d5164234f8bf62ca07dcf5a437ad389e96b0bd6443960151166001600160801b0385511690309033906145ff565b6001600160801b0360208401511680613daf575b506001600160a01b0381511694613da4613d866001600160a01b03602085015116986001600160a01b036060860151169a511515935115156001600160a01b0361010060e088015193549764ffffffffff60405199613d2b8b612a3d565b818160a01c168b5260c81c1660208a015201515116946001600160801b0360206040519a8b9a8b5233828c01528281511660408c01520151166060890152608088015260a087015261014060c0870152610140860190612988565b9260e085019064ffffffffff60208092828151168552015116910152565b6101208301520390a4565b613dd9906001600160a01b036060840151166001600160a01b0361010085015151169033906145ff565b5f613ccd565b7f73c6ac6e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b885f52600b60205260405f2090613e268160e0870151613992565b51825468010000000000000000811015610fd75760018101808555811015612e5a576001935f5260205f2001906001600160801b0380825116166fffffffffffffffffffffffffffffffff198354161782556020810151907fffffff00000000000000000000000000ffffffffffffffffffffffffffffffff7cffffffffff000000000000000000000000000000000000000000000000604077ffffffffffffffff0000000000000000000000000000000086549560801b1693847fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff8716178755015160c01b1692161717905501613c35565b7fd90b7e39000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7f210aec0e000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b9193509193613f99906001600160801b03613f908588613992565b5151169061422c565b9364ffffffffff806040613fad8685613992565b51015116941680851115613fc957506001849301909291613a4c565b8490847f9588ac09000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b64ffffffffff604061400e84613985565b51015116907ff539a17c000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7f4757689b000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f3952c64e000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fd572dbcb000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f6095d3bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b805f5260036020526001600160a01b0360405f2054169081331491821561412a575b508115614111575090565b90506001600160a01b036141253392612ac8565b161490565b9091505f52600660205260405f206001600160a01b0333165f5260205260ff60405f205416905f614106565b805f52600a60205261416d600260405f2001612ed9565b90805f52600a60205260ff600160405f20015460a01c165f1461419b5750602001516001600160801b031690565b90815f52600a60205260405f205460f81c6141ba5750613730906136ce565b61373091506001600160801b036040818351169201511690612aea565b3d15614201573d906141e882612a98565b916141f66040519384612a76565b82523d5f602084013e565b606090565b6137309061421381614156565b905f52600a602052600260405f20015460801c90612aea565b906001600160801b03809116911601906001600160801b03821161162f57565b5f818152600a60205260409020546142839064ffffffffff60a082901c811660c89290921c811682900381169142821603166146b0565b90805f52600b60205260405f20805415612e5a575f526142d867ffffffffffffffff60205f205460801c1692825f52600a6020526142d36001600160801b03600260405f20015416948592614790565b614803565b9182136142f557506142f16001600160801b03916148de565b1690565b90505f52600a602052600260405f20015460801c90565b9064ffffffffff421691805f52600a60205260405f20906040519061433082612a59565b6101206143c360028554956001600160a01b0387168652602086019664ffffffffff8160a01c16885264ffffffffff8160c81c16604088015260ff8160f01c161515606088015260f81c1515608087015260ff60018201546001600160a01b03811660a0890152818160a01c16151560c0890152818160a81c16151560e089015260b01c16151561010087015201612ed9565b92019182525f52600b6020526143db60405f20612f0b565b915f9264ffffffffff60406143ef83613985565b510151168664ffffffffff5f925b16106144e3578161447464ffffffffff9697988784816001600160801b0361442c6142d3986144799b9a613992565b5151169a8b9867ffffffffffffffff6020614447868b613992565b51015116978260406144598784613992565b5101511694806144c6575050511680925b03169203166146b0565b614790565b91821361449a5750906001600160801b0361449481936148de565b16011690565b6001600160801b03915060209051015116806001600160801b038316115f146144c1575090565b905090565b60409250906144d8915f190190613992565b51015116809261446a565b936001600160801b03600191816144fa8886613992565b51511601169401958064ffffffffff8060406145168b87613992565b510151169892986143fd565b91909160405161453181612a3d565b5f81525f6020820152926001600160801b0382169081156145e25767016345785d8a000081116145ab5761456d6001600160801b0391836154fb565b1660208501918183521115614597576001600160801b03918261459292511690612aea565b168252565b634e487b7160e01b5f52600160045260245ffd5b7f4fea5c1a000000000000000000000000000000000000000000000000000000005f5260045267016345785d8a000060245260445ffd5b50505090506040516145f381612a3d565b5f81525f602082015290565b9091926001600160a01b0361465e9481604051957f23b872dd000000000000000000000000000000000000000000000000000000006020880152166024860152166044840152606483015260648252614659608483612a76565b614913565b565b61465e926001600160a01b03604051937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252614659606483612a76565b600160ff1b81148015614783575b61475b575f811215614752576146e2815f035b5f84121561474b57835f0390614998565b917f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161471c575f19911813156147175790565b5f0390565b907fd49c26b3000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b8390614998565b6146e2816146d1565b7f9fe2b450000000000000000000000000000000000000000000000000000000005f5260045ffd5b50600160ff1b82146146be565b806147aa57506147a657670de0b6b3a764000090565b5f90565b90670de0b6b3a764000082146147f557806147cd575050670de0b6b3a764000090565b670de0b6b3a764000081146147f1576147ec906142d361373093614a9e565b614bf5565b5090565b5050670de0b6b3a764000090565b600160ff1b811480156148d1575b6148a9575f8112156148a057614835815f035b5f84121561489957835f03906154fb565b917f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161486a575f19911813156147175790565b907f120b5b43000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b83906154fb565b61483581614824565b7fa6070c25000000000000000000000000000000000000000000000000000000005f5260045ffd5b50600160ff1b8214614811565b5f81126148e85790565b7f2463f3d5000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5f806001600160a01b0361493c93169360208151910182865af16149356141d7565b90836155a9565b805190811515918261497d575b50506149525750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6149909250602080918301019101612e32565b155f80614949565b5f19670de0b6b3a7640000820991670de0b6b3a7640000820291828085109403938085039414614a635781841015614a2957670de0b6b3a7640000829109600182190182168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b7f63a05778000000000000000000000000000000000000000000000000000000005f52600452670de0b6b3a764000060245260445260645ffd5b5091508115614a70570490565b634e487b7160e01b5f52601260045260245ffd5b8015614a70576ec097ce7bc90715b34b9f10000000000590565b805f811315614bca57670de0b6b3a76400008112614baa57506001905b670de0b6b3a764000081056001600160801b03811160071b90811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c9060ff821160031b91821c92600f841160021b93841c94600160038711811b96871c119617171717171717670de0b6b3a7640000810291811d90670de0b6b3a76400008214614b9757506706f05b59d3b20000905b5f8213614b615750500290565b80670de0b6b3a764000091020590671bc16d674ec80000821215614b89575b60011d90614b54565b809192019160011d90614b80565b9050670de0b6b3a7640000929150020290565b5f1991508015614a70576ec097ce7bc90715b34b9f100000000005614abb565b7f059b101b000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5f811215614c225768033dd1780914b971141981126137e657614c19905f03614bf5565b61373090614a84565b680a688906bd8affffff81136154d057670de0b6b3a76400009060401b057780000000000000000000000000000000000000000000000067ff00000000000000821661539b575b670de0b6b3a76400009066ff000000000000831661528b575b65ff00000000008316615183575b64ff000000008316615083575b63ff0000008316614f8b575b62ff00008316614e9b575b61ff008316614db3575b60ff8316614cd3575b029060401c60bf031c90565b60808316614da0575b60408316614d8d575b60208316614d7a575b60108316614d67575b60088316614d54575b60048316614d41575b60028316614d2e575b6001831615614cc757680100000000000000010260401c614cc7565b680100000000000000010260401c614d12565b680100000000000000030260401c614d09565b680100000000000000060260401c614d00565b6801000000000000000b0260401c614cf7565b680100000000000000160260401c614cee565b6801000000000000002c0260401c614ce5565b680100000000000000590260401c614cdc565b6180008316614e88575b6140008316614e75575b6120008316614e62575b6110008316614e4f575b6108008316614e3c575b6104008316614e29575b6102008316614e16575b610100831615614cbe57680100000000000000b10260401c614cbe565b680100000000000001630260401c614df9565b680100000000000002c60260401c614def565b6801000000000000058c0260401c614de5565b68010000000000000b170260401c614ddb565b6801000000000000162e0260401c614dd1565b68010000000000002c5d0260401c614dc7565b680100000000000058b90260401c614dbd565b628000008316614f78575b624000008316614f65575b622000008316614f52575b621000008316614f3f575b620800008316614f2c575b620400008316614f19575b620200008316614f06575b62010000831615614cb4576801000000000000b1720260401c614cb4565b680100000000000162e40260401c614ee8565b6801000000000002c5c80260401c614edd565b68010000000000058b910260401c614ed2565b680100000000000b17210260401c614ec7565b68010000000000162e430260401c614ebc565b680100000000002c5c860260401c614eb1565b6801000000000058b90c0260401c614ea6565b63800000008316615070575b6340000000831661505d575b6320000000831661504a575b63100000008316615037575b63080000008316615024575b63040000008316615011575b63020000008316614ffe575b6301000000831615614ca95768010000000000b172180260401c614ca9565b6801000000000162e4300260401c614fdf565b68010000000002c5c8600260401c614fd3565b680100000000058b90c00260401c614fc7565b6801000000000b17217f0260401c614fbb565b680100000000162e42ff0260401c614faf565b6801000000002c5c85fe0260401c614fa3565b68010000000058b90bfc0260401c614f97565b6480000000008316615170575b644000000000831661515d575b642000000000831661514a575b6410000000008316615137575b6408000000008316615124575b6404000000008316615111575b64020000000083166150fe575b640100000000831615614c9d57680100000000b17217f80260401c614c9d565b68010000000162e42ff10260401c6150de565b680100000002c5c85fe30260401c6150d1565b6801000000058b90bfce0260401c6150c4565b68010000000b17217fbb0260401c6150b7565b6801000000162e42fff00260401c6150aa565b68010000002c5c8601cc0260401c61509d565b680100000058b90c0b490260401c615090565b658000000000008316615278575b654000000000008316615265575b652000000000008316615252575b65100000000000831661523f575b65080000000000831661522c575b650400000000008316615219575b650200000000008316615206575b65010000000000831615614c90576801000000b1721835510260401c614c90565b680100000162e430e5a20260401c6151e5565b6801000002c5c863b73f0260401c6151d7565b68010000058b90cf1e6e0260401c6151c9565b680100000b1721bcfc9a0260401c6151bb565b68010000162e43f4f8310260401c6151ad565b680100002c5c89d5ec6d0260401c61519f565b6801000058b91b5bc9ae0260401c615191565b66800000000000008316615388575b66400000000000008316615375575b66200000000000008316615362575b6610000000000000831661534f575b6608000000000000831661533c575b66040000000000008316615329575b66020000000000008316615316575b6601000000000000831615614c825768010000b17255775c040260401c614c82565b6801000162e525ee05470260401c6152f4565b68010002c5cc37da94920260401c6152e5565b680100058ba01fb9f96d0260401c6152d6565b6801000b175effdc76ba0260401c6152c7565b680100162f3904051fa10260401c6152b8565b6801002c605e2e8cec500260401c6152a9565b68010058c86da1c09ea20260401c61529a565b67800000000000000082166154b1575b670de0b6b3a764000090674000000000000000831661549e575b672000000000000000831661548b575b6710000000000000008316615478575b6708000000000000008316615465575b6704000000000000008316615452575b670200000000000000831661543f575b670100000000000000831661542c575b9050614c69565b680100b1afa5abcbed610260401c615425565b68010163da9fb33356d80260401c615415565b680102c9a3e778060ee70260401c615405565b6801059b0d31585743ae0260401c6153f5565b68010b5586cf9890f62a0260401c6153e5565b6801172b83c7d517adce0260401c6153d5565b6801306fe0a31b7152df0260401c6153c5565b5077b504f333f9de6484800000000000000000000000000000006153ab565b7f0360d028000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091905f198382098382029182808310920391808303921461559857670de0b6b3a7640000821015615568577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106699394670de0b6b3a7640000910990828211900360ee1b910360121c170290565b84907f5173648d000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b5050670de0b6b3a764000090049150565b906155e657508051156155be57805190602001fd5b7f1425ea42000000000000000000000000000000000000000000000000000000005f5260045ffd5b8151158061562c575b6155f7575090565b6001600160a01b03907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b156155ef56fea164736f6c634300081a000a","sourceMap":"3791:15545:84:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;3791:15545:84;;;;460:4:89;441:24;;3791:15545:84;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;;;;;;;;;-1:-1:-1;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;1470:17:9;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;;;;;;;;;;;;;;;;;;1470:17:9;3791:15545:84;;-1:-1:-1;3791:15545:84;;-1:-1:-1;;;;;;3791:15545:84;;;;;;;2665:36:90;3791:15545:84;;;;;;;;;;;;;;;;2716:63:90;-1:-1:-1;;2716:63:90;5318:35:84;;3791:15545;5363:16;3791:15545;;;;;;;441:24:89;3791:15545:84;;;;;5318:35;3791:15545;;;;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;;;;;;;;;1470:17:9;-1:-1:-1;3791:15545:84;;-1:-1:-1;3791:15545:84;;-1:-1:-1;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;1470:17:9;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1470:17:9;-1:-1:-1;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;;;;;;;;-1:-1:-1;3791:15545:84;;;;;;;;-1:-1:-1;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;;;;;;-1:-1:-1;3791:15545:84;;;;;;;-1:-1:-1;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;;-1:-1:-1;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;;;-1:-1:-1;3791:15545:84;;;;;;;-1:-1:-1;3791:15545:84;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;;;;;;;;-1:-1:-1;;3791:15545:84;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146127c657508063027b6744146127a457806306fdde03146126e9578063081812fc146126cb578063095ea7b3146125c65780631400ecec146125155780631c1cdd4c146124b15780631e99d5691461249457806323b872dd1461247d578063303acc851461244057806331df3d481461232d578063406887cb146121be57806340e58ee514611ea5578063425d30dd14611e5557806342842e0e14611e2c57806342966c6814611c685780634426757014611c425780634857501f14611bd15780634869e12d14611b975780634cc55e1114611a9f57806354c02292146117ee57806357404b12146117605780636352211e146117315780636d0cee751461173157806370a08231146116c757806375829def146116595780637cad6cd1146115685780637de6b1db146113e95780638659c27014610feb578063894e9a0d14610cbc5780638f69b99314610c3c5780639067b67714610bed5780639188ec8414610bb357806395d89b4114610aab578063a22cb465146109f7578063a80fc071146109a6578063ad35efd414610947578063b2564569146108f7578063b637b8651461089e578063b88d4fde14610816578063b8a3be66146107e1578063b971302a14610793578063bc2be1be14610744578063c156a11d1461060e578063c87b56dd146104f8578063d4dbd20b146104a7578063d511609f1461045c578063d975dfed14610422578063e985e9c5146103c9578063ea5ead1914610385578063eac8f5b814610334578063f590c176146102d9578063f851a440146102b45763fdd46d601461026e575f80fd5b346102b05760603660031901126102b0576102876128f3565b6044356001600160801b03811681036102b0576102ae916102a661392b565b6004356133df565b005b5f80fd5b346102b0575f3660031901126102b05760206001600160a01b035f5416604051908152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a602052602060405f205460f81c6040519015158152f35b62b8e7e760e51b5f5260045260245ffd5b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a60205260206001600160a01b03600160405f20015416604051908152f35b346102b05760403660031901126102b05760206004356103b86103a66128f3565b916103b081614206565b928391613082565b6001600160801b0360405191168152f35b346102b05760403660031901126102b0576103e26128dd565b6001600160a01b036103f26128f3565b91165f5260066020526001600160a01b0360405f2091165f52602052602060ff60405f2054166040519015158152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323576103b8602091614206565b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a6020526020600260405f20015460801c604051908152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a60205260206001600160801b03600360405f20015416604051908152f35b346102b05760203660031901126102b057600435610515816136ad565b505f6001600160a01b0360085416916044604051809481937fe9dc637500000000000000000000000000000000000000000000000000000000835230600484015260248301525afa8015610603575f90610586575b610582906040519182916020835260208301906128b8565b0390f35b503d805f833e6105968183612a76565b8101906020818303126102b05780519067ffffffffffffffff82116102b057019080601f830112156102b0578151916105ce83612a98565b916105dc6040519384612a76565b838352602084830101116102b057610582926105fe9160208085019101612897565b61056a565b6040513d5f823e3d90fd5b346102b05760403660031901126102b05760043561062a6128f3565b61063261392b565b815f52600a60205260ff600160405f20015460a81c161561073257815f5260036020526001600160a01b0360405f205416908133036107125761067483614206565b6001600160801b0381169182610702575b6001600160a01b038116156106ef576106a6856001600160a01b03926137f1565b1692836106c05784637e27328960e01b5f5260045260245ffd5b80859185036106d457602084604051908152f35b8492506364283d7b60e01b5f5260045260245260445260645ffd5b633250574960e11b5f525f60045260245ffd5b61070d828587613082565b610685565b8263216caf0d60e01b5f526004526001600160a01b03331660245260445ffd5b5062b8e7e760e51b5f5260045260245ffd5b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a602052602064ffffffffff60405f205460a01c16604051908152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a60205260206001600160a01b0360405f205416604051908152f35b346102b05760203660031901126102b0576004355f52600a602052602060ff600160405f20015460a81c166040519015158152f35b346102b05760803660031901126102b05761082f6128dd565b6108376128f3565b6064359167ffffffffffffffff83116102b057366023840112156102b05782600401359161086483612a98565b926108726040519485612a76565b80845236602482870101116102b0576020815f9260246102ae9801838801378501015260443591612f92565b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600b6020526105826108e360405f20612f0b565b604051918291602083526020830190612988565b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a602052602060ff600160405f20015460b01c166040519015158152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c16156103235761097f9061375d565b6040516005821015610992576020918152f35b634e487b7160e01b5f52602160045260245ffd5b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a60205260206001600160801b03600260405f20015416604051908152f35b346102b05760403660031901126102b057610a106128dd565b602435908115158092036102b0576001600160a01b0316908115610a7f57335f52600660205260405f20825f5260205260405f2060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b507f5b08ba18000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102b0575f3660031901126102b0576040515f6002548060011c90600181168015610ba9575b602083108114610b9557828552908115610b715750600114610b13575b61058283610aff81850382612a76565b6040519182916020835260208301906128b8565b91905060025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace915f905b808210610b5757509091508101602001610aff610aef565b919260018160209254838588010152019101909291610b3f565b60ff191660208086019190915291151560051b84019091019150610aff9050610aef565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610ad2565b346102b0575f3660031901126102b05760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a602052602064ffffffffff60405f205460c81c16604051908152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c161561032357610c749061375d565b6005811015806109925760028214908115610cb0575b8115610c9e575b6020826040519015158152f35b90506109925760046020911482610c91565b5050600381145f610c8a565b346102b05760203660031901126102b057600435604051610180810181811067ffffffffffffffff821117610fd757606091610160916040525f81525f60208201525f60408201525f838201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201525f610120820152610d37612ebb565b6101408201520152805f52600a60205260ff600160405f20015460a81c161561032357805f52600a60205260405f20604051610d7281612a59565b8154906001600160a01b0382168152602081019264ffffffffff8360a01c1684526040820164ffffffffff8460c81c168152606083019160ff8560f01c1615158352608084019460f81c1515855260018101549160a08501946001600160a01b038416865260c0810160ff8560a01c1615158152610e11600260e084019560ff8860a81c161515875260ff61010086019860b01c161515885201612ed9565b61012083019081526002610e248c61375d565b610e2d816129fa565b14610fcf575b5196516001600160a01b0316925164ffffffffff1695511515905115159351151594511515958a5f52600360205260405f20546001600160a01b03169a5f52600b60205260405f2092516001600160a01b0316995164ffffffffff1698511515926040519a610ea46101808d612a76565b8b5260208b019b8c5260408b01998a5260608b0191825260808b0192835260a08b0193845260c08b0194855260e08b019586526101008b019687526101208b019788526101408b01988952610ef890612f0b565b986101608b01998a526040519b8c9b60208d52516001600160a01b031660208d0152516001600160a01b031660408c01525164ffffffffff1660608b01525164ffffffffff1660808a015251151560a089015251151560c0880152516001600160a01b031660e08701525115156101008601525115156101208501525115156101408401525180516001600160801b031661016084015260208101516001600160801b0316610180840152604001516001600160801b03166101a0830152516101c082016101c090526101e0820161058291612988565b5f8752610e33565b634e487b7160e01b5f52604160045260245ffd5b346102b05760203660031901126102b05760043567ffffffffffffffff81116102b05761101c903690600401612957565b9061102561392b565b5f915b80831061103157005b61103c838284612e4a565b359261104661392b565b835f52600a60205260ff600160405f20015460a81c16156113d657835f52600a60205260ff600160405f20015460a01c165f146110905783634a5541ef60e01b5f5260045260245ffd5b909192805f52600a60205260405f205460f81c6113c4576110c5815f52600a6020526001600160a01b0360405f205416331490565b156113ae576110d3816136ce565b90805f52600a6020526110eb600260405f2001612ed9565b916001600160801b038351166001600160801b038216101561139a57815f52600a60205260ff60405f205460f01c161561138657806001600160801b0360208161113f948188511603169501511690612aea565b5f828152600a6020526040902080547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b179055916001600160801b038316908115611361575b825f52600a602052600360405f20016001600160801b0382166fffffffffffffffffffffffffffffffff19825416179055825f52600a6020526001600160a01b0360405f205416835f5260036020526001600160a01b0360405f20541694845f52600a60205285827f5edb27d6c1a327513b90a792050debf074b7194444885e3144d4decc5caaaa5061125a6001600160a01b03600160405f2001541694611232888588614660565b604080518b81526001600160801b03808b166020830152909216908201529081906060820190565b0390a47ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051868152a160ff6112a4866001600160a01b03165f52600960205260405f2090565b54166112ba575b50505050506001019190611028565b60405193630d4af11f60e31b855260048501526024840152604483015260648201526020816084815f865af190811561060357630d4af11f60e31b916001600160e01b0319915f91611333575b50160361131757808080806112ab565b632187e5e760e21b5f526001600160a01b03602491166004525ffd5b611354915060203d811161135a575b61134c8183612a76565b81019061368d565b87611307565b503d611342565b825f52600a602052600160405f2001600160a01b60ff60a01b19825416179055611189565b506339c6dc7360e21b5f526024906004525ffd5b506322cad1af60e11b5f526024906004525ffd5b63216caf0d60e01b5f526004523360245260445ffd5b63fe19f19f60e01b5f5260045260245ffd5b8362b8e7e760e51b5f526024906004525ffd5b346102b05760203660031901126102b05760043561140561392b565b805f52600a60205260ff600160405f20015460a81c1615610323576114298161375d565b611432816129fa565b6004810361144d5750634a5541ef60e01b5f5260045260245ffd5b611456816129fa565b60038103611471575063fe19f19f60e01b5f5260045260245ffd5b60029061147d816129fa565b14611556576114a0815f52600a6020526001600160a01b0360405f205416331490565b1561153757805f52600a60205260ff60405f205460f01c1615611525576020817ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7925f52600a825260405f2060ff60f01b19815416905560405190807f0eb069207093cd3e51cd1370d2d369770057fbe29947e577e5fb428c6c6fc78f5f80a28152a1005b6339c6dc7360e21b5f5260045260245ffd5b63216caf0d60e01b5f526004526001600160a01b03331660245260445ffd5b6322cad1af60e11b5f5260045260245ffd5b346102b05760203660031901126102b0576004356001600160a01b0381168091036102b0576001600160a01b035f5416338103611643575060085490806001600160a01b03198316176008556001600160a01b036040519216825260208201527fa2548bd4b805e907c1558a47b5858324fe8bb4a2e1ddfca647eecbf65610eebc60403392a26007545f19810190811161162f5760407f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c91815190600182526020820152a1005b634e487b7160e01b5f52601160045260245ffd5b6331b339a960e21b5f526004523360245260445ffd5b346102b05760203660031901126102b0576116726128dd565b5f546001600160a01b03811633810361164357506001600160a01b036001600160a01b0319921691829116175f55337fbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf805f80a3005b346102b05760203660031901126102b0576001600160a01b036116e86128dd565b168015611705575f526004602052602060405f2054604051908152f35b7f89c62b64000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b346102b05760203660031901126102b057602061174f6004356136ad565b6001600160a01b0360405191168152f35b346102b05760203660031901126102b05760043561177c612ea3565b50805f52600a60205260ff600160405f20015460a81c1615610323575f908152600a6020526040908190205481519064ffffffffff60c882901c81169160a01c166117c683612a3d565b825260208201526117ec8251809264ffffffffff60208092828151168552015116910152565bf35b346102b05760203660031901126102b05760043567ffffffffffffffff81116102b0578036036101206003198201126102b05761182961392b565b60c482013590602219018112156102b057810160048101359067ffffffffffffffff82116102b05760240160608202360381136102b05761186b913691612d66565b9081519161187883612d4e565b926118866040519485612a76565b808452601f1961189582612d4e565b015f5b818110611a8857505064ffffffffff4216916001600160801b036118bb82613985565b51511667ffffffffffffffff60206118d284613985565b5101511664ffffffffff8060406118e886613985565b5101511686011690604051926118fd84612a21565b83526020830152604082015261191286613985565b5261191c85613985565b5060015b8281106119f45750505061193682600401612e82565b9261194360248401612e82565b9261195060448201612e6e565b916064820135936001600160a01b0385168095036102b0576020966119ec966119ac966001600160801b036119e1976001600160a01b0361199360848a01612e96565b94816119a160a48c01612e96565b976040519d8e612a04565b168c52168c8b0152166040890152606088015215156080870152151560a086015260c085015260e084015260e4369101612e03565b6101008201526139a6565b604051908152f35b806001600160801b03611a0960019385613992565b51511667ffffffffffffffff6020611a218487613992565b5101511664ffffffffff806040611a3b5f1987018d613992565b51015116816040611a4c878a613992565b5101511601169060405192611a6084612a21565b835260208301526040820152611a768289613992565b52611a818188613992565b5001611920565b602090611a93612ebb565b82828901015201611898565b346102b05760403660031901126102b05760043567ffffffffffffffff81116102b057611ad0903690600401612957565b9060243567ffffffffffffffff81116102b057611af1903690600401612957565b9091611afb61392b565b818403611b67575f5b848110611b0d57005b80611b61611b1e6001938886612e4a565b35611b2a838987612e4a565b355f5260036020526001600160a01b0360405f205416611b53611b4e85898b612e4a565b612e6e565b91611b5c61392b565b6133df565b01611b04565b50827faec93440000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323576103b8602091614156565b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f611c0a8261375d565b600581101561099257600203611c28575b6020906040519015158152f35b505f52600a602052602060ff60405f205460f01c16611c1b565b346102b0575f3660031901126102b05760206001600160a01b0360085416604051908152f35b346102b05760203660031901126102b057600435611c8461392b565b805f52600a60205260ff600160405f20015460a81c161561032357805f52600a60205260ff600160405f20015460a01c1615611e0157611cc3816140e4565b156113ae57805f5260036020526001600160a01b0360405f205416151580611dfa575b80611ddd575b611dcb577ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051838152a1805f5260036020526001600160a01b0360405f2054168015908115611d94575b825f52600360205260405f206001600160a01b03198154169055825f827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a450611d8257005b637e27328960e01b5f5260045260245ffd5b611db3835f52600560205260405f206001600160a01b03198154169055565b805f52600460205260405f205f198154019055611d3a565b630da9b01360e01b5f5260045260245ffd5b50805f52600a60205260ff600160405f20015460b01c1615611cec565b505f611ce6565b7f817cd639000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102b0576102ae611e3d3661291d565b9060405192611e4d602085612a76565b5f8452612f92565b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323575f52600a602052602060ff600160405f20015460a01c166040519015158152f35b346102b05760203660031901126102b057600435611ec161392b565b805f52600a60205260ff600160405f20015460a81c161561032357805f52600a60205260ff600160405f20015460a01c165f14611f0a57634a5541ef60e01b5f5260045260245ffd5b805f52600a60205260405f205460f81c6113c457611f3c815f52600a6020526001600160a01b0360405f205416331490565b1561153757611f4a816136ce565b90805f52600a602052611f62600260405f2001612ed9565b916001600160801b038351166001600160801b03821610156121ab57815f52600a60205260ff60405f205460f01c161561219857806001600160801b03602081611fb6948188511603169501511690612aea565b5f828152600a6020526040902080547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b179055916001600160801b038316908115612173575b825f52600a602052600360405f20016001600160801b0382166fffffffffffffffffffffffffffffffff19825416179055825f52600a6020526001600160a01b0360405f205416835f5260036020526001600160a01b0360405f20541694845f52600a60205285827f5edb27d6c1a327513b90a792050debf074b7194444885e3144d4decc5caaaa506120a96001600160a01b03600160405f2001541694611232888588614660565b0390a47ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051868152a1845f52600960205260ff60405f2054166120ec57005b60405193630d4af11f60e31b855260048501526024840152604483015260648201526020816084815f865af190811561060357630d4af11f60e31b916001600160e01b0319915f91612154575b50160361214257005b632187e5e760e21b5f5260045260245ffd5b61216d915060203d60201161135a5761134c8183612a76565b84612139565b825f52600a602052600160405f2001600160a01b60ff60a01b19825416179055612000565b506339c6dc7360e21b5f5260045260245ffd5b506322cad1af60e11b5f5260045260245ffd5b346102b05760203660031901126102b0576121d76128dd565b6001600160a01b035f54169033820361231657806001600160a01b03913b156122ea57166040516301ffc9a760e01b81527ff8ee98d3000000000000000000000000000000000000000000000000000000006004820152602081602481855afa908115610603575f916122bb575b501561229057805f52600960205260405f20600160ff198254161790556040519081527fb4378d4e289cb3f40f4f75a99c9cafa76e3df1c4dc31309babc23dc91bd7280160203392a2005b7f7fb843ea000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6122dd915060203d6020116122e3575b6122d58183612a76565b810190612e32565b82612245565b503d6122cb565b7f5a2b2d83000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b506331b339a960e21b5f526004523360245260445ffd5b346102b05760203660031901126102b05760043567ffffffffffffffff81116102b05761014060031982360301126102b05761236761392b565b6040519061237482612a04565b61238081600401612909565b825261238e60248201612909565b602083015261239f60448201612ab4565b604083015260648101356001600160a01b03811681036102b05760608301526123ca608482016129ed565b60808301526123db60a482016129ed565b60a08301526123ec60c48201612d3c565b60c083015260e481013567ffffffffffffffff81116102b057810191366023840112156102b0576119e16119ec926124306020953690602460048201359101612d66565b60e0840152610104369101612e03565b346102b05760203660031901126102b0576001600160a01b036124616128dd565b165f526009602052602060ff60405f2054166040519015158152f35b346102b0576102ae61248e3661291d565b91612b0a565b346102b0575f3660031901126102b0576020600754604051908152f35b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323576124e99061375d565b600581101561099257806020911590811561250a575b506040519015158152f35b6001915014826124ff565b346102b05760203660031901126102b057600435805f52600a60205260ff600160405f20015460a81c1615610323576020905f90805f52600a835260ff60405f205460f01c16806125aa575b612578575b506001600160801b0360405191168152f35b6125a49150805f52600a835261259e6001600160801b03600260405f20015416916136ce565b90612aea565b82612566565b50805f52600a835260ff600160405f20015460a01c1615612561565b346102b05760403660031901126102b0576125df6128dd565b6024356125eb816136ad565b331515806126b8575b80612685575b6126595781906001600160a01b0380851691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f5260056020526001600160a01b0360405f2091166001600160a01b03198254161790555f80f35b7fa9fbf51f000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b506001600160a01b0381165f52600660205260405f206001600160a01b0333165f5260205260ff60405f205416156125fa565b50336001600160a01b03821614156125f4565b346102b05760203660031901126102b057602061174f600435612ac8565b346102b0575f3660031901126102b0576040515f6001548060011c9060018116801561279a575b602083108114610b9557828552908115610b71575060011461273c5761058283610aff81850382612a76565b91905060015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f905b80821061278057509091508101602001610aff610aef565b919260018160209254838588010152019101909291612768565b91607f1691612710565b346102b0575f3660031901126102b057602060405167016345785d8a00008152f35b346102b05760203660031901126102b057600435906001600160e01b031982168092036102b057817f490649060000000000000000000000000000000000000000000000000000000060209314908115612822575b5015158152f35b7f80ac58cd0000000000000000000000000000000000000000000000000000000081149150811561286d575b811561285c575b508361281b565b6301ffc9a760e01b91501483612855565b7f5b5e139f000000000000000000000000000000000000000000000000000000008114915061284e565b5f5b8381106128a85750505f910152565b8181015183820152602001612899565b906020916128d181518092818552858086019101612897565b601f01601f1916010190565b600435906001600160a01b03821682036102b057565b602435906001600160a01b03821682036102b057565b35906001600160a01b03821682036102b057565b60609060031901126102b0576004356001600160a01b03811681036102b057906024356001600160a01b03811681036102b0579060443590565b9181601f840112156102b05782359167ffffffffffffffff83116102b0576020808501948460051b0101116102b057565b90602080835192838152019201905f5b8181106129a55750505090565b9091926020606060019264ffffffffff604088516001600160801b03815116845267ffffffffffffffff86820151168685015201511660408201520194019101919091612998565b359081151582036102b057565b6005111561099257565b610120810190811067ffffffffffffffff821117610fd757604052565b6060810190811067ffffffffffffffff821117610fd757604052565b6040810190811067ffffffffffffffff821117610fd757604052565b610140810190811067ffffffffffffffff821117610fd757604052565b90601f8019910116810190811067ffffffffffffffff821117610fd757604052565b67ffffffffffffffff8111610fd757601f01601f191660200190565b35906001600160801b03821682036102b057565b612ad1816136ad565b505f5260056020526001600160a01b0360405f20541690565b906001600160801b03809116911603906001600160801b03821161162f57565b91906001600160a01b031680156106ef57815f5260036020526001600160a01b0360405f205416151580612d34575b80612d17575b612d04577ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051848152a1815f5260036020526001600160a01b0360405f20541692823315159283612c4f575b6001600160a01b03935085612c18575b805f52600460205260405f2060018154019055815f52600360205260405f20816001600160a01b0319825416179055857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a416808303612c0057505050565b6364283d7b60e01b5f5260045260245260445260645ffd5b612c37825f52600560205260405f206001600160a01b03198154169055565b855f52600460205260405f205f198154019055612b9f565b9192905080612cad575b15612c6657828291612b8f565b8284612c7e57637e27328960e01b5f5260045260245ffd5b7f177e802f000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b503384148015612cdb575b80612c595750825f526005602052336001600160a01b0360405f20541614612c59565b50835f52600660205260405f206001600160a01b0333165f5260205260ff60405f205416612cb8565b50630da9b01360e01b5f5260045260245ffd5b50815f52600a60205260ff600160405f20015460b01c1615612b3f565b506001612b39565b359064ffffffffff821682036102b057565b67ffffffffffffffff8111610fd75760051b60200190565b929192612d7282612d4e565b93612d806040519586612a76565b60606020868581520193028201918183116102b057925b828410612da45750505050565b6060848303126102b05760405190612dbb82612a21565b612dc485612ab4565b825260208501359067ffffffffffffffff821682036102b05782602092836060950152612df360408801612d3c565b6040820152815201930192612d97565b91908260409103126102b057604051612e1b81612a3d565b6020808294612e2981612909565b84520135910152565b908160209103126102b0575180151581036102b05790565b9190811015612e5a5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160801b03811681036102b05790565b356001600160a01b03811681036102b05790565b3580151581036102b05790565b60405190612eb082612a3d565b5f6020838281520152565b60405190612ec882612a21565b5f6040838281528260208201520152565b90604051612ee681612a21565b60406001600160801b03600183958054838116865260801c6020860152015416910152565b908154612f1781612d4e565b92612f256040519485612a76565b81845260208401905f5260205f205f915b838310612f435750505050565b600160208192604051612f5581612a21565b64ffffffffff86546001600160801b038116835267ffffffffffffffff8160801c168584015260c01c166040820152815201920192019190612f36565b90612f9e838284612b0a565b803b612fab575b50505050565b602091612ff16001600160a01b03809316956040519586948594630a85bd0160e11b865233600487015216602485015260448401526080606484015260848301906128b8565b03815f865af15f9181613061575b5061302d575061300d6141d7565b805190816130285782633250574960e11b5f5260045260245ffd5b602001fd5b6001600160e01b0319630a85bd0160e11b91160361304f57505f808080612fa5565b633250574960e11b5f5260045260245ffd5b61307b91925060203d60201161135a5761134c8183612a76565b905f612fff565b9061308b61392b565b815f52600a60205260ff600160405f20015460a81c161561073257815f52600a60205260ff600160405f20015460a01c166133cc576001600160a01b03811680156133a0576001600160801b03841691821561337457835f5260036020526001600160a01b0360405f205416948583141580613364575b613330576001600160801b0361311786614206565b168085116132fd575061313c90855f52600a602052600260405f20015460801c61422c565b5f858152600a6020526040902060020180546001600160801b031660809290921b6fffffffffffffffffffffffffffffffff191691909117815561317f90612ed9565b6001600160801b036131a38160208401511692826040818351169201511690612aea565b1611156132cb575b835f52600a6020526131cf836001600160a01b03600160405f200154169283614660565b81847f40b88e5c41c5a97ffb7b6ef88a0a2d505aa0c634cf8a0275cb236ea7dd87ed4d6020604051878152a47ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051858152a183331415806132b5575b6132395750505050565b604051926392b9102b60e01b84526004840152336024840152604483015260648201526020816084815f865af1908115610603576392b9102b60e01b916001600160e01b0319915f91613296575b50160361214257808080612fa5565b6132af915060203d60201161135a5761134c8183612a76565b5f613287565b50835f52600960205260ff60405f20541661322f565b5f848152600a6020526040902060018101805460ff60a01b1916600160a01b179055805460ff60f01b191690556131ab565b84867fa1fb2bbc000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b82857fb34359d3000000000000000000000000000000000000000000000000000000005f526004523360245260445260645ffd5b5061336e856140e4565b15613102565b837fd2aabcd9000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b827f7fbf7168000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b50634a5541ef60e01b5f5260045260245ffd5b90815f52600a60205260ff600160405f20015460a81c161561073257815f52600a60205260ff600160405f20015460a01c166133cc576001600160a01b03811680156133a0576001600160801b03841691821561337457835f5260036020526001600160a01b0360405f20541694858314158061367d575b613330576001600160801b0361346c86614206565b168085116132fd575061349190855f52600a602052600260405f20015460801c61422c565b5f858152600a6020526040902060020180546001600160801b031660809290921b6fffffffffffffffffffffffffffffffff19169190911781556134d490612ed9565b6001600160801b036134f88160208401511692826040818351169201511690612aea565b16111561364b575b835f52600a602052613524836001600160a01b03600160405f200154169283614660565b81847f40b88e5c41c5a97ffb7b6ef88a0a2d505aa0c634cf8a0275cb236ea7dd87ed4d6020604051878152a47ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051858152a18333141580613626575b61358e5750505050565b604051926392b9102b60e01b84526004840152336024840152604483015260648201526020816084815f865af1908115610603576392b9102b60e01b916001600160e01b0319915f91613607575b5016036135eb57808080612fa5565b6001600160a01b0390632187e5e760e21b5f521660045260245ffd5b613620915060203d60201161135a5761134c8183612a76565b5f6135dc565b5060ff613644856001600160a01b03165f52600960205260405f2090565b5416613584565b5f848152600a6020526040902060018101805460ff60a01b1916600160a01b179055805460ff60f01b19169055613500565b50613687856140e4565b15613457565b908160209103126102b057516001600160e01b0319811681036102b05790565b805f5260036020526001600160a01b0360405f205416908115611d82575090565b64ffffffffff4216815f52600a6020528064ffffffffff60405f205460a01c16101561375757815f52600a60205264ffffffffff60405f205460c81c16111561373c57805f52600b602052600160405f2054115f14613733576137309061430c565b90565b6137309061424c565b5f52600a6020526001600160801b03600260405f2001541690565b50505f90565b805f52600a60205260ff600160405f20015460a01c165f1461377f5750600490565b805f52600a60205260405f205460f81c6137eb57805f52600a60205264ffffffffff60405f205460a01c1642106137e6576137b9816136ce565b905f52600a6020526001600160801b0380600260405f200154169116105f146137e157600190565b600290565b505f90565b50600390565b90805f5260036020526001600160a01b0360405f205416151580613919575b806138fc575b611dcb577ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051838152a1805f5260036020526001600160a01b038060405f20541692836138c5575b16806138ad575b815f52600360205260405f20816001600160a01b0319825416179055827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a490565b805f52600460205260405f2060018154019055613869565b6138e4835f52600560205260405f206001600160a01b03198154169055565b835f52600460205260405f205f198154019055613862565b50805f52600a60205260ff600160405f20015460b01c1615613816565b506001600160a01b0382161515613810565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361395d57565b7fa1c0d6e5000000000000000000000000000000000000000000000000000000005f5260045ffd5b805115612e5a5760200190565b8051821015612e5a5760209160051b010190565b906139c86001600160801b036040840151166020610100850151015190614522565b916001600160801b038351169060e08101519160c082019264ffffffffff84511682156140bc578015614094578151801561406c577f00000000000000000000000000000000000000000000000000000000000000008111614041575064ffffffffff6040613a3684613985565b51015116811015613ffd57505f905f905f81515f905b808210613f75575050505064ffffffffff80421691169081811015613f475750506001600160801b031690818103613f1957505060075493845f52600a60205260405f20916001600160801b038251166001600160801b036002850191166fffffffffffffffffffffffffffffffff198254161790556001600160a01b03606082015116916001600160a01b036001850193166001600160a01b031984541617835560808201948551151560ff60f01b197eff00000000000000000000000000000000000000000000000000000000000087549260f01b169116178555835493750100000000000000000000000000000000000000000060a08501957fffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff76ff000000000000000000000000000000000000000000008851151560b01b169116171790556001600160a01b0380845116166001600160a01b03198654161785555184549060e0840151917fffff00000000000000000000ffffffffffffffffffffffffffffffffffffffff78ffffffffff00000000000000000000000000000000000000007dffffffffff000000000000000000000000000000000000000000000000006040613c218751975f19890190613992565b51015160c81b169360a01b169116171785555f5b818110613e0b575050600187016007556001600160a01b0360208301511680156106ef57613c6b886001600160a01b03926137f1565b16613ddf578682613cb96001600160a01b0360607f33eb09bbf19ea3fb22c760d5164234f8bf62ca07dcf5a437ad389e96b0bd6443960151166001600160801b0385511690309033906145ff565b6001600160801b0360208401511680613daf575b506001600160a01b0381511694613da4613d866001600160a01b03602085015116986001600160a01b036060860151169a511515935115156001600160a01b0361010060e088015193549764ffffffffff60405199613d2b8b612a3d565b818160a01c168b5260c81c1660208a015201515116946001600160801b0360206040519a8b9a8b5233828c01528281511660408c01520151166060890152608088015260a087015261014060c0870152610140860190612988565b9260e085019064ffffffffff60208092828151168552015116910152565b6101208301520390a4565b613dd9906001600160a01b036060840151166001600160a01b0361010085015151169033906145ff565b5f613ccd565b7f73c6ac6e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b885f52600b60205260405f2090613e268160e0870151613992565b51825468010000000000000000811015610fd75760018101808555811015612e5a576001935f5260205f2001906001600160801b0380825116166fffffffffffffffffffffffffffffffff198354161782556020810151907fffffff00000000000000000000000000ffffffffffffffffffffffffffffffff7cffffffffff000000000000000000000000000000000000000000000000604077ffffffffffffffff0000000000000000000000000000000086549560801b1693847fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff8716178755015160c01b1692161717905501613c35565b7fd90b7e39000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7f210aec0e000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b9193509193613f99906001600160801b03613f908588613992565b5151169061422c565b9364ffffffffff806040613fad8685613992565b51015116941680851115613fc957506001849301909291613a4c565b8490847f9588ac09000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b64ffffffffff604061400e84613985565b51015116907ff539a17c000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7f4757689b000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f3952c64e000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fd572dbcb000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f6095d3bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b805f5260036020526001600160a01b0360405f2054169081331491821561412a575b508115614111575090565b90506001600160a01b036141253392612ac8565b161490565b9091505f52600660205260405f206001600160a01b0333165f5260205260ff60405f205416905f614106565b805f52600a60205261416d600260405f2001612ed9565b90805f52600a60205260ff600160405f20015460a01c165f1461419b5750602001516001600160801b031690565b90815f52600a60205260405f205460f81c6141ba5750613730906136ce565b61373091506001600160801b036040818351169201511690612aea565b3d15614201573d906141e882612a98565b916141f66040519384612a76565b82523d5f602084013e565b606090565b6137309061421381614156565b905f52600a602052600260405f20015460801c90612aea565b906001600160801b03809116911601906001600160801b03821161162f57565b5f818152600a60205260409020546142839064ffffffffff60a082901c811660c89290921c811682900381169142821603166146b0565b90805f52600b60205260405f20805415612e5a575f526142d867ffffffffffffffff60205f205460801c1692825f52600a6020526142d36001600160801b03600260405f20015416948592614790565b614803565b9182136142f557506142f16001600160801b03916148de565b1690565b90505f52600a602052600260405f20015460801c90565b9064ffffffffff421691805f52600a60205260405f20906040519061433082612a59565b6101206143c360028554956001600160a01b0387168652602086019664ffffffffff8160a01c16885264ffffffffff8160c81c16604088015260ff8160f01c161515606088015260f81c1515608087015260ff60018201546001600160a01b03811660a0890152818160a01c16151560c0890152818160a81c16151560e089015260b01c16151561010087015201612ed9565b92019182525f52600b6020526143db60405f20612f0b565b915f9264ffffffffff60406143ef83613985565b510151168664ffffffffff5f925b16106144e3578161447464ffffffffff9697988784816001600160801b0361442c6142d3986144799b9a613992565b5151169a8b9867ffffffffffffffff6020614447868b613992565b51015116978260406144598784613992565b5101511694806144c6575050511680925b03169203166146b0565b614790565b91821361449a5750906001600160801b0361449481936148de565b16011690565b6001600160801b03915060209051015116806001600160801b038316115f146144c1575090565b905090565b60409250906144d8915f190190613992565b51015116809261446a565b936001600160801b03600191816144fa8886613992565b51511601169401958064ffffffffff8060406145168b87613992565b510151169892986143fd565b91909160405161453181612a3d565b5f81525f6020820152926001600160801b0382169081156145e25767016345785d8a000081116145ab5761456d6001600160801b0391836154fb565b1660208501918183521115614597576001600160801b03918261459292511690612aea565b168252565b634e487b7160e01b5f52600160045260245ffd5b7f4fea5c1a000000000000000000000000000000000000000000000000000000005f5260045267016345785d8a000060245260445ffd5b50505090506040516145f381612a3d565b5f81525f602082015290565b9091926001600160a01b0361465e9481604051957f23b872dd000000000000000000000000000000000000000000000000000000006020880152166024860152166044840152606483015260648252614659608483612a76565b614913565b565b61465e926001600160a01b03604051937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252614659606483612a76565b600160ff1b81148015614783575b61475b575f811215614752576146e2815f035b5f84121561474b57835f0390614998565b917f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161471c575f19911813156147175790565b5f0390565b907fd49c26b3000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b8390614998565b6146e2816146d1565b7f9fe2b450000000000000000000000000000000000000000000000000000000005f5260045ffd5b50600160ff1b82146146be565b806147aa57506147a657670de0b6b3a764000090565b5f90565b90670de0b6b3a764000082146147f557806147cd575050670de0b6b3a764000090565b670de0b6b3a764000081146147f1576147ec906142d361373093614a9e565b614bf5565b5090565b5050670de0b6b3a764000090565b600160ff1b811480156148d1575b6148a9575f8112156148a057614835815f035b5f84121561489957835f03906154fb565b917f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161486a575f19911813156147175790565b907f120b5b43000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b83906154fb565b61483581614824565b7fa6070c25000000000000000000000000000000000000000000000000000000005f5260045ffd5b50600160ff1b8214614811565b5f81126148e85790565b7f2463f3d5000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5f806001600160a01b0361493c93169360208151910182865af16149356141d7565b90836155a9565b805190811515918261497d575b50506149525750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6149909250602080918301019101612e32565b155f80614949565b5f19670de0b6b3a7640000820991670de0b6b3a7640000820291828085109403938085039414614a635781841015614a2957670de0b6b3a7640000829109600182190182168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b7f63a05778000000000000000000000000000000000000000000000000000000005f52600452670de0b6b3a764000060245260445260645ffd5b5091508115614a70570490565b634e487b7160e01b5f52601260045260245ffd5b8015614a70576ec097ce7bc90715b34b9f10000000000590565b805f811315614bca57670de0b6b3a76400008112614baa57506001905b670de0b6b3a764000081056001600160801b03811160071b90811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c9060ff821160031b91821c92600f841160021b93841c94600160038711811b96871c119617171717171717670de0b6b3a7640000810291811d90670de0b6b3a76400008214614b9757506706f05b59d3b20000905b5f8213614b615750500290565b80670de0b6b3a764000091020590671bc16d674ec80000821215614b89575b60011d90614b54565b809192019160011d90614b80565b9050670de0b6b3a7640000929150020290565b5f1991508015614a70576ec097ce7bc90715b34b9f100000000005614abb565b7f059b101b000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5f811215614c225768033dd1780914b971141981126137e657614c19905f03614bf5565b61373090614a84565b680a688906bd8affffff81136154d057670de0b6b3a76400009060401b057780000000000000000000000000000000000000000000000067ff00000000000000821661539b575b670de0b6b3a76400009066ff000000000000831661528b575b65ff00000000008316615183575b64ff000000008316615083575b63ff0000008316614f8b575b62ff00008316614e9b575b61ff008316614db3575b60ff8316614cd3575b029060401c60bf031c90565b60808316614da0575b60408316614d8d575b60208316614d7a575b60108316614d67575b60088316614d54575b60048316614d41575b60028316614d2e575b6001831615614cc757680100000000000000010260401c614cc7565b680100000000000000010260401c614d12565b680100000000000000030260401c614d09565b680100000000000000060260401c614d00565b6801000000000000000b0260401c614cf7565b680100000000000000160260401c614cee565b6801000000000000002c0260401c614ce5565b680100000000000000590260401c614cdc565b6180008316614e88575b6140008316614e75575b6120008316614e62575b6110008316614e4f575b6108008316614e3c575b6104008316614e29575b6102008316614e16575b610100831615614cbe57680100000000000000b10260401c614cbe565b680100000000000001630260401c614df9565b680100000000000002c60260401c614def565b6801000000000000058c0260401c614de5565b68010000000000000b170260401c614ddb565b6801000000000000162e0260401c614dd1565b68010000000000002c5d0260401c614dc7565b680100000000000058b90260401c614dbd565b628000008316614f78575b624000008316614f65575b622000008316614f52575b621000008316614f3f575b620800008316614f2c575b620400008316614f19575b620200008316614f06575b62010000831615614cb4576801000000000000b1720260401c614cb4565b680100000000000162e40260401c614ee8565b6801000000000002c5c80260401c614edd565b68010000000000058b910260401c614ed2565b680100000000000b17210260401c614ec7565b68010000000000162e430260401c614ebc565b680100000000002c5c860260401c614eb1565b6801000000000058b90c0260401c614ea6565b63800000008316615070575b6340000000831661505d575b6320000000831661504a575b63100000008316615037575b63080000008316615024575b63040000008316615011575b63020000008316614ffe575b6301000000831615614ca95768010000000000b172180260401c614ca9565b6801000000000162e4300260401c614fdf565b68010000000002c5c8600260401c614fd3565b680100000000058b90c00260401c614fc7565b6801000000000b17217f0260401c614fbb565b680100000000162e42ff0260401c614faf565b6801000000002c5c85fe0260401c614fa3565b68010000000058b90bfc0260401c614f97565b6480000000008316615170575b644000000000831661515d575b642000000000831661514a575b6410000000008316615137575b6408000000008316615124575b6404000000008316615111575b64020000000083166150fe575b640100000000831615614c9d57680100000000b17217f80260401c614c9d565b68010000000162e42ff10260401c6150de565b680100000002c5c85fe30260401c6150d1565b6801000000058b90bfce0260401c6150c4565b68010000000b17217fbb0260401c6150b7565b6801000000162e42fff00260401c6150aa565b68010000002c5c8601cc0260401c61509d565b680100000058b90c0b490260401c615090565b658000000000008316615278575b654000000000008316615265575b652000000000008316615252575b65100000000000831661523f575b65080000000000831661522c575b650400000000008316615219575b650200000000008316615206575b65010000000000831615614c90576801000000b1721835510260401c614c90565b680100000162e430e5a20260401c6151e5565b6801000002c5c863b73f0260401c6151d7565b68010000058b90cf1e6e0260401c6151c9565b680100000b1721bcfc9a0260401c6151bb565b68010000162e43f4f8310260401c6151ad565b680100002c5c89d5ec6d0260401c61519f565b6801000058b91b5bc9ae0260401c615191565b66800000000000008316615388575b66400000000000008316615375575b66200000000000008316615362575b6610000000000000831661534f575b6608000000000000831661533c575b66040000000000008316615329575b66020000000000008316615316575b6601000000000000831615614c825768010000b17255775c040260401c614c82565b6801000162e525ee05470260401c6152f4565b68010002c5cc37da94920260401c6152e5565b680100058ba01fb9f96d0260401c6152d6565b6801000b175effdc76ba0260401c6152c7565b680100162f3904051fa10260401c6152b8565b6801002c605e2e8cec500260401c6152a9565b68010058c86da1c09ea20260401c61529a565b67800000000000000082166154b1575b670de0b6b3a764000090674000000000000000831661549e575b672000000000000000831661548b575b6710000000000000008316615478575b6708000000000000008316615465575b6704000000000000008316615452575b670200000000000000831661543f575b670100000000000000831661542c575b9050614c69565b680100b1afa5abcbed610260401c615425565b68010163da9fb33356d80260401c615415565b680102c9a3e778060ee70260401c615405565b6801059b0d31585743ae0260401c6153f5565b68010b5586cf9890f62a0260401c6153e5565b6801172b83c7d517adce0260401c6153d5565b6801306fe0a31b7152df0260401c6153c5565b5077b504f333f9de6484800000000000000000000000000000006153ab565b7f0360d028000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091905f198382098382029182808310920391808303921461559857670de0b6b3a7640000821015615568577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106699394670de0b6b3a7640000910990828211900360ee1b910360121c170290565b84907f5173648d000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b5050670de0b6b3a764000090049150565b906155e657508051156155be57805190602001fd5b7f1425ea42000000000000000000000000000000000000000000000000000000005f5260045ffd5b8151158061562c575b6155f7575090565b6001600160a01b03907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b156155ef56fea164736f6c634300081a000a","sourceMap":"3791:15545:84:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3791:15545:84;;;;;;587:1:89;519:76;;;:::i;:::-;3791:15545:84;;587:1:89;:::i;:::-;3791:15545:84;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;3123:8:90;3791:15545:84;;;;;;;;;;;;;;;;;3118:103:90;-1:-1:-1;;;3791:15545:84;3173:37:90;3791:15545:84;;;;3173:37:90;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;3123:8:90;3791:15545:84;;;-1:-1:-1;;;;;3791:15545:84;;;;3620:24:90;3791:15545:84;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;14122:2272:90;3791:15545:84;;:::i;:::-;16568:31:90;;;;:::i;:::-;14122:2272;;;;:::i;:::-;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;:::i;:::-;-1:-1:-1;;;;;3791:15545:84;;:::i;:::-;;;;;4039:18:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;4039:35:9;3791:15545:84;-1:-1:-1;3791:15545:84;;;;;;-1:-1:-1;3791:15545:84;;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;9348:31;3791:15545:84;9348:31:90;;:::i;3791:15545:84:-;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;3123:8:90;3791:15545:84;;;5339:26:90;3791:15545:84;;;5339:26:90;3791:15545:84;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;3123:8:90;3791:15545:84;;;-1:-1:-1;;;;;4656:35:90;3791:15545:84;;;4656:35:90;3791:15545:84;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;8727:36:90;;;:::i;:::-;;3791:15545:84;-1:-1:-1;;;;;8835:13:90;3791:15545:84;;;8835:61:90;3791:15545:84;;8835:61:90;;;;3791:15545:84;8835:61:90;;8869:4;3791:15545:84;8835:61:90;;3791:15545:84;;;;;8835:61:90;;;;;;3791:15545:84;8835:61:90;;;3791:15545:84;;;;;;;;;;;;;;;;:::i;:::-;;;;8835:61:90;;;;3791:15545:84;8835:61:90;;;;;;:::i;:::-;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8835:61:90;;;3791:15545:84;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;:::i;:::-;519:76:89;;:::i;:::-;3791:15545:84;;;3123:8:90;3791:15545:84;;;3123:27:90;3791:15545:84;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;17117:10:90;;;:30;17113:125;;17333:31;;;:::i;:::-;-1:-1:-1;;;;;3791:15545:84;;17378:19:90;;17374:129;;3791:15545:84;-1:-1:-1;;;;;3791:15545:84;;12098:16:9;12094:87;;12214:32;;-1:-1:-1;;;;;12214:32:9;;:::i;:::-;3791:15545:84;;12260:27:9;;;12310:31;-1:-1:-1;;;3791:15545:84;12310:31:9;3791:15545:84;;;;12310:31:9;12256:211;12362:21;;;;;12358:109;;3791:15545:84;12256:211:9;3791:15545:84;;;;;;12358:109:9;12406:50;;;-1:-1:-1;;;3791:15545:84;12406:50:9;3791:15545:84;;;;;;;;12406:50:9;12094:87;-1:-1:-1;;;3791:15545:84;12137:33:9;3791:15545:84;;;;;12137:33:9;17374:129:90;14122:2272;;;;;:::i;:::-;17374:129;;17113:125;17170:57;-1:-1:-1;;;3791:15545:84;17170:57:90;11729;3791:15545:84;-1:-1:-1;;;;;17117:10:90;3791:15545:84;;;;;17170:57:90;3118:103;3173:37;-1:-1:-1;;;3791:15545:84;3173:37:90;3791:15545:84;;;;3173:37:90;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;3123:8:90;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;3123:8:90;3791:15545:84;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;6496:8:90;3791:15545:84;;;;;;;;6496:27:90;3791:15545:84;;;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;5852:9;3791:15545;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;3123:8:90;3791:15545:84;;;;;;;;6697:33:90;3791:15545:84;;;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;7950:19;;;:::i;:::-;3791:15545:84;;;;;;;;;;;;;;-1:-1:-1;;;3791:15545:84;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;3123:8:90;3791:15545:84;;;-1:-1:-1;;;;;3887:26:90;3791:15545:84;;;3887:26:90;3791:15545:84;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;15698:22:9;;;15694:91;;735:10:15;3791:15545:84;;15794:18:9;3791:15545:84;;;;;;-1:-1:-1;3791:15545:84;;;;-1:-1:-1;3791:15545:84;;;;;;;;;;;;;;;;;15855:41:9;3791:15545:84;735:10:15;15855:41:9;;3791:15545:84;15694:91:9;15743:31;;3791:15545:84;15743:31:9;3791:15545:84;;;;15743:31:9;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;2597:7:9;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;2597:7:9;3791:15545:84;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;-1:-1:-1;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;-1:-1:-1;3791:15545:84;;;-1:-1:-1;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;4298:51;3791:15545;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;3123:8:90;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;6006:19;5876:278;6006:19;:::i;:::-;3791:15545:84;;;;;;;6054:21:90;6044:31;;:67;;;;;3791:15545:84;6044:103:90;;;;3791:15545:84;;6035:112:90;3791:15545:84;;;;;;;;6044:103:90;3791:15545:84;;;;;;6115:32:90;;6044:103;;;:67;-1:-1:-1;;6089:22:90;6079:32;;3791:15545:84;6044:67:90;;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3123:8:90;3791:15545:84;;;3123:27:90;3791:15545:84;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;;3123:8:90;3791:15545:84;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3123:27:90;3791:15545:84;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;6275:19;;;:::i;:::-;3791:15545;;;:::i;:::-;6275:44;6271:108;;3791:15545;6444:20;3791:15545;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;5799:16:9;3791:15545:84;;;5799:7:9;3791:15545:84;;;;;;-1:-1:-1;;;;;3791:15545:84;6817:19;3791:15545;;6817:9;3791:15545;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;:::i;:::-;;;;6398:588;;3791:15545;;;;6398:588;;3791:15545;;;;6398:588;;3791:15545;;;;6398:588;;3791:15545;;;;6398:588;;3791:15545;;;;6398:588;;3791:15545;;;;6398:588;;3791:15545;;;;6398:588;;3791:15545;;;;6398:588;;3791:15545;;;;6398:588;;3791:15545;;;;;;:::i;:::-;6398:588;3791:15545;6398:588;;3791:15545;;;;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;;:::i;6271:108::-;3791:15545;;;6271:108;;3791:15545;-1:-1:-1;;;3791:15545:84;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;;;;;;;;;;:::i;:::-;519:76:89;;;:::i;:::-;3791:15545:84;12158:141:90;12178:9;;;;;;3791:15545:84;12189:3:90;12275:12;;;;;:::i;:::-;3791:15545:84;519:76:89;;;:::i;:::-;3791:15545:84;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;;11374:8:90;3791:15545:84;;;;;;;11374:29:90;3791:15545:84;;;;11370:235:90;3791:15545:84;;;11426:47:90;-1:-1:-1;;;3791:15545:84;11426:47:90;3791:15545:84;;;;11426:47:90;11370:235;3791:15545:84;;;;;;11374:8:90;3791:15545:84;;;;;;;;11490:115:90;;11675:31;;-1:-1:-1;3791:15545:84;19772:8:90;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;-1:-1:-1;3791:15545:84;;;19758:10:90;:39;19663:141;;11675:31;11674:32;11670:127;;21717:34;;;:::i;:::-;21840:18;3791:15545:84;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;21840:26:90;3791:15545:84;-1:-1:-1;3791:15545:84;21840:26:90;3791:15545:84;:::i;:::-;;-1:-1:-1;;;;;3791:15545:84;;;-1:-1:-1;;;;;3791:15545:84;;21926:35:90;;21922:119;;3791:15545:84;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;;-1:-1:-1;3791:15545:84;;;;;22099:32:90;22095:122;;3791:15545:84;-1:-1:-1;;;;;3791:15545:84;;22464:34:90;3791:15545:84;;;;;;;22481:17:90;;3791:15545:84;;22464:34:90;;:::i;:::-;-1:-1:-1;3791:15545:84;;;3123:8:90;3791:15545:84;;;;;;;;;-1:-1:-1;;;3791:15545:84;;;22557:18:90;-1:-1:-1;;;;;3791:15545:84;;;22869:20:90;;22865:87;;11370:235;3791:15545:84;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;23006:35:90;3791:15545:84;-1:-1:-1;3791:15545:84;23006:35:90;-1:-1:-1;;;;;3791:15545:84;;-1:-1:-1;;3791:15545:84;;;;;;;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;-1:-1:-1;3791:15545:84;;;;-1:-1:-1;3791:15545:84;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;-1:-1:-1;3791:15545:84;;;23297:18:90;3791:15545:84;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;;23479:102:90;;-1:-1:-1;;;;;3791:15545:84;;-1:-1:-1;3791:15545:84;23297:24:90;3791:15545:84;;23375:55:90;;;;;;:::i;:::-;3791:15545:84;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;23479:102:90;;;;23673:38;3791:15545:84;;;;;;23673:38:90;3791:15545:84;23802:25:90;;-1:-1:-1;;;;;3791:15545:84;;;23802:14:90;3791:15545:84;;;;;;;23802:25:90;3791:15545:84;;23798:561:90;;11370:235;12189:3;;;;;3791:15545:84;;12163:13:90;;;;23798:561;3791:15545:84;;23861:234:90;-1:-1:-1;;;23861:234:90;;3791:15545:84;23861:234:90;;3791:15545:84;;;;;;;;;;;;;;23861:234:90;;;3791:15545:84;23861:234:90;;;;;;;;-1:-1:-1;;;23861:234:90;-1:-1:-1;;;;;;23861:234:90;3791:15545:84;23861:234:90;;;23798:561;3791:15545:84;;24188:66:90;24184:165;;23798:561;;;;;;24184:165;-1:-1:-1;;;3791:15545:84;24281:53:90;-1:-1:-1;;;;;3791:15545:84;;;23861:234:90;3791:15545:84;;24281:53:90;23861:234;;;;3791:15545:84;23861:234:90;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;22865:87;3791:15545:84;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;;-1:-1:-1;3791:15545:84;22905:29:90;-1:-1:-1;;;;;;;3791:15545:84;;;;;;22865:87:90;;22095:122;22154:52;-1:-1:-1;;;3791:15545:84;22154:52:90;3791:15545:84;;;;;22154:52:90;21922:119;21984:46;-1:-1:-1;;;3791:15545:84;21984:46:90;3791:15545:84;;;;;21984:46:90;11670:127;-1:-1:-1;;;3791:15545:84;11729:57:90;3791:15545:84;;11775:10:90;3791:15545:84;;;;11729:57:90;11490:115;-1:-1:-1;;;3791:15545:84;11547:47:90;3791:15545:84;;;;11547:47:90;3118:103;3173:37;-1:-1:-1;;;3791:15545:84;3173:37:90;3791:15545:84;;;;;3173:37:90;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;519:76:89;;:::i;:::-;3791:15545:84;;;3123:8:90;3791:15545:84;;;3123:27:90;3791:15545:84;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;12510:19;;;:::i;:::-;3791:15545:84;;;:::i;:::-;;12543:32:90;;3791:15545:84;;12598:47:90;-1:-1:-1;;;3791:15545:84;12598:47:90;3791:15545:84;;;;12598:47:90;12539:361;3791:15545:84;;;:::i;:::-;12676:22:90;12666:32;;12676:22;;12721:47;-1:-1:-1;;;3791:15545:84;12721:47:90;3791:15545:84;;;;12721:47:90;12662:238;12799:21;3791:15545:84;;;;:::i;:::-;12789:31:90;12785:115;;12970:31;;-1:-1:-1;3791:15545:84;19772:8:90;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;-1:-1:-1;3791:15545:84;;;19758:10:90;:39;19663:141;;12970:31;12969:32;12965:127;;3791:15545:84;;;3123:8:90;3791:15545:84;;;;;;;;;;24574:32:90;24570:122;;3791:15545:84;;13361:38:90;3791:15545:84;;;3123:8:90;3791:15545:84;;;;;-1:-1:-1;;;;3791:15545:84;;;;;;;13222:47:90;;;3791:15545:84;13222:47:90;;3791:15545:84;;13361:38:90;3791:15545:84;24570:122:90;-1:-1:-1;;;3791:15545:84;24629:52:90;3791:15545:84;;;;24629:52:90;12965:127;-1:-1:-1;;;3791:15545:84;13024:57:90;11729;3791:15545:84;-1:-1:-1;;;;;13070:10:90;3791:15545:84;;;;;13024:57:90;12785:115;-1:-1:-1;;;3791:15545:84;12843:46:90;3791:15545:84;;;;12843:46:90;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;908:10:88;899:19;;895:116;;3791:15545:84;13641:13:90;3791:15545:84;;;-1:-1:-1;;;;;;3791:15545:84;;;13641:13:90;3791:15545:84;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;13761:172:90;3791:15545:84;908:10:88;13761:172:90;;14053:12;3791:15545:84;-1:-1:-1;;3791:15545:84;;;;;;;;14002:70:90;3791:15545:84;;;;14038:1:90;3791:15545:84;;;;;;14002:70:90;3791:15545:84;;-1:-1:-1;;;3791:15545:84;;;;;;;;895:116:88;-1:-1:-1;;;3791:15545:84;941:59:88;3791:15545:84;;908:10:88;3791:15545:84;;;;941:59:88;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;:::i;:::-;;;-1:-1:-1;;;;;3791:15545:84;;908:10:88;899:19;;895:116;;3791:15545:84;-1:-1:-1;;;;;;;;;;;3791:15545:84;;;;;;;;;908:10:88;1484:70;3791:15545:84;1484:70:88;;3791:15545:84;;;;;;;-1:-1:-1;;3791:15545:84;;;;-1:-1:-1;;;;;3791:15545:84;;:::i;:::-;;2006:19:9;;2002:87;;3791:15545:84;;;;;;;;;;;;;;;;2002:87:9;2048:30;3791:15545:84;2048:30:9;3791:15545:84;;;;;2048:30:9;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;2274:22:9;3791:15545:84;;2274:22:9;:::i;:::-;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;:::i;:::-;;;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;;;3123:8:90;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7245:98;;3791:15545;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;519:76:89;;:::i;:::-;7930:15:84;;;3791:15545;;-1:-1:-1;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3791:15545:84;;;:::i;:::-;;;;;;;;;1079:15:99;;3791:15545:84;1079:15:99;3791:15545:84;1477:11:99;-1:-1:-1;;;;;1477:11:99;;;:::i;:::-;;3791:15545:84;;;;1523:11:99;;;:::i;:::-;;:20;3791:15545:84;;;1584:11:99;3791:15545:84;1584:11:99;;;:::i;:::-;;:20;3791:15545:84;;;;;;;;;;;;:::i;:::-;;;;1429:190:99;;3791:15545:84;;1429:190:99;;3791:15545:84;1401:218:99;;;:::i;:::-;;;;;:::i;:::-;;1744:1;1747:16;;;;;;3791:15545:84;;;8114:13;3791:15545;;;8114:13;:::i;:::-;8156:16;;;;;;:::i;:::-;8203:18;;;;;;:::i;:::-;8246:12;;;;3791:15545;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;8288:17;8032:476;8288:17;3791:15545;8288:17;-1:-1:-1;;;;;3791:15545:84;8288:17;-1:-1:-1;;;;;8288:17:84;;;;;:::i;:::-;8337:19;;;;;;;:::i;:::-;3791:15545;;;;;;:::i;:::-;;;;;8053:445;;;3791:15545;;;8053:445;;3791:15545;;8053:445;;3791:15545;;;8288:17;8053:445;;3791:15545;;;8337:19;8053:445;;3791:15545;7930:15;8053:445;;3791:15545;;8053:445;;3791:15545;8470:13;3791:15545;8470:13;;3791:15545;:::i;:::-;8053:445;;;3791:15545;8032:476;:::i;:::-;3791:15545;;;;;;1765:3:99;1868:11;-1:-1:-1;;;;;1868:11:99;1744:1;1868:11;;;:::i;:::-;;3791:15545:84;;;;1918:11:99;;;;:::i;:::-;;:20;3791:15545:84;;;;;1971:29:99;-1:-1:-1;;3791:15545:84;;1971:29:99;;:::i;:::-;;:39;3791:15545:84;;2013:11:99;3791:15545:84;2013:11:99;;;;:::i;:::-;;:20;3791:15545:84;;;;;;;;;;;:::i;:::-;;;;1816:236:99;;3791:15545:84;;1816:236:99;;3791:15545:84;1788:264:99;;;;:::i;:::-;;;;;;:::i;:::-;;3791:15545:84;1732:13:99;;3791:15545:84;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;519:76:89;;;;:::i;:::-;18038:30:90;;;18034:148;;3791:15545:84;18318:18:90;;;;;;3791:15545:84;18338:3:90;18473:12;587:1:89;18473:12:90;3791:15545:84;18473:12:90;;;;:::i;:::-;3791:15545:84;18500:12:90;;;;;:::i;:::-;3791:15545:84;;;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;18523:10:90;;;;;;:::i;:::-;;:::i;:::-;519:76:89;;;:::i;:::-;587:1;:::i;:::-;3791:15545:84;18303:13:90;;18034:148;18091:80;;;3791:15545:84;18091:80:90;3791:15545:84;;;;;;18091:80:90;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;8206:27;3791:15545:84;8206:27:90;;:::i;3791:15545:84:-;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;5716:19:90;;;:::i;:::-;3791:15545:84;;;;;;5739:21:90;5716:44;5712:115;;3791:15545:84;;;;;;;;;;;5712:115:90;3791:15545:84;;;5785:8:90;3791:15545:84;;;;;;;;;;;5712:115:90;;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;-1:-1:-1;;;;;1753:53:90;3791:15545:84;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;519:76:89;;:::i;:::-;3791:15545:84;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;;3123:8:90;3791:15545:84;;;;;;;10672:29:90;3791:15545:84;;;;10671:30:90;10667:118;;10958:44;;;:::i;:::-;10957:45;10953:140;;3791:15545:84;;;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;25723:18:90;;:38;;;3791:15545:84;25723:76:90;;;3791:15545:84;25719:162:90;;25972:38;3791:15545:84;;;;;;25972:38:90;3791:15545:84;;;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;9161:18:9;;;;;9157:256;;3791:15545:84;;;;5799:7:9;3791:15545:84;;;;;-1:-1:-1;;;;;;3791:15545:84;;;;;9577:27:9;3791:15545:84;9577:27:9;;;;;11587:96;;;3791:15545:84;11587:96:9;-1:-1:-1;;;3791:15545:84;11641:31:9;3791:15545:84;;;;11641:31:9;9157:256;9319:5;;3791:15545:84;;15346:15:9;3791:15545:84;;;;;-1:-1:-1;;;;;;3791:15545:84;;;;;14720:662:9;9319:5;3791:15545:84;;;;;;;;;;;;;;;;9157:256:9;;25719:162:90;-1:-1:-1;;;3791:15545:84;25822:48:90;3791:15545:84;;;;25822:48:90;25723:76;3791:15545:84;;;;3123:8:90;3791:15545:84;;;;;;;25766:33:90;3791:15545:84;;;;25765:34:90;25723:76;;:38;;3791:15545:84;25723:38:90;;10667:118;10724:50;3791:15545:84;10724:50:90;3791:15545:84;;;;10724:50:90;3791:15545:84;;;;4873:39:9;3791:15545:84;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;4873:39:9;:::i;3791:15545:84:-;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;;;;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;;3123:8:90;3791:15545:84;;;;;;;;6317:29:90;3791:15545:84;;;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;519:76:89;;:::i;:::-;3791:15545:84;;;3123:8:90;3791:15545:84;;;3123:27:90;3791:15545:84;;;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;3123:27:90;3791:15545:84;-1:-1:-1;3791:15545:84;11374:29:90;3791:15545:84;;;;11370:235:90;3791:15545:84;;;-1:-1:-1;;;3791:15545:84;11426:47:90;3791:15545:84;;;;11426:47:90;11370:235;3791:15545:84;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;-1:-1:-1;3791:15545:84;;;;11490:115:90;;11675:31;;-1:-1:-1;3791:15545:84;19772:8:90;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;-1:-1:-1;3791:15545:84;;;19758:10:90;:39;19663:141;;11675:31;11674:32;11670:127;;21717:34;;;:::i;:::-;3791:15545:84;;;;3123:8:90;3791:15545:84;;;21840:26:90;3791:15545:84;;;21840:26:90;3791:15545:84;:::i;:::-;;-1:-1:-1;;;;;3791:15545:84;;;-1:-1:-1;;;;;3791:15545:84;;21926:35:90;;21922:119;;3791:15545:84;;;3123:8:90;3791:15545:84;;;;;;;;;;22099:32:90;22095:122;;3791:15545:84;-1:-1:-1;;;;;3791:15545:84;;22464:34:90;3791:15545:84;;;;;;;22481:17:90;;3791:15545:84;;22464:34:90;;:::i;:::-;3791:15545:84;;;;3123:8:90;3791:15545:84;;;;;;;;;-1:-1:-1;;;3791:15545:84;;;;-1:-1:-1;;;;;3791:15545:84;;;22869:20:90;;22865:87;;11370:235;3791:15545:84;;;3123:8:90;3791:15545:84;;23006:35:90;3791:15545:84;;;23006:35:90;-1:-1:-1;;;;;3791:15545:84;;-1:-1:-1;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;23006:35:90;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;3123:8:90;3791:15545:84;;;;23479:102:90;;-1:-1:-1;;;;;3123:27:90;3791:15545:84;;;23297:24:90;3791:15545:84;;23375:55:90;;;;;;:::i;23479:102::-;;;;23673:38;3791:15545:84;;;;;;23673:38:90;3791:15545:84;;;23802:14:90;3791:15545:84;;;;;;;;23798:561:90;;3791:15545:84;23798:561:90;3791:15545:84;;23861:234:90;-1:-1:-1;;;23861:234:90;;3791:15545:84;23861:234:90;;3791:15545:84;;;;;;;;;;;;;;23861:234:90;;;3791:15545:84;23861:234:90;;;;;;;;-1:-1:-1;;;23861:234:90;-1:-1:-1;;;;;;23861:234:90;3791:15545:84;23861:234:90;;;23798:561;3791:15545:84;;24188:66:90;24184:165;;3791:15545:84;24184:165:90;-1:-1:-1;;;3791:15545:84;24281:53:90;3791:15545:84;;;;24281:53:90;23861:234;;;;3791:15545:84;23861:234:90;3791:15545:84;23861:234:90;;;;;;;:::i;:::-;;;;22865:87;3791:15545:84;;;3123:8:90;3791:15545:84;;3123:27:90;3791:15545:84;;;22905:29:90;-1:-1:-1;;;;;;;3791:15545:84;;;;;;22865:87:90;;22095:122;22154:52;-1:-1:-1;;;3791:15545:84;22154:52:90;3791:15545:84;;;;22154:52:90;21922:119;21984:46;-1:-1:-1;;;3791:15545:84;21984:46:90;3791:15545:84;;;;21984:46:90;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;:::i;:::-;-1:-1:-1;;;;;3791:15545:84;;;908:10:88;;899:19;;895:116;;9772:21:90;-1:-1:-1;;;;;9772:21:90;;:26;9768:121;;3791:15545:84;;;-1:-1:-1;;;10080:65:90;;10024:41;3791:15545:84;10080:65:90;;3791:15545:84;;10080:65:90;;;;;;;;;;;3791:15545:84;10080:65:90;;;3791:15545:84;10079:66:90;;10075:169;;3791:15545:84;;;10309:14:90;3791:15545:84;;;;;10337:4:90;3791:15545:84;;;;;;;;;;;;;10396:73:90;3791:15545:84;908:10:88;10396:73:90;;3791:15545:84;10075:169:90;10168:65;3791:15545:84;10168:65:90;3791:15545:84;;10080:65:90;3791:15545:84;10168:65:90;10080;;;;3791:15545:84;10080:65:90;3791:15545:84;10080:65:90;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;9768:121;9821:57;3791:15545:84;9821:57:90;3791:15545:84;;;;;9821:57:90;895:116:88;941:59;-1:-1:-1;;;3791:15545:84;941:59:88;3791:15545:84;;908:10:88;3791:15545:84;;;;941:59:88;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;519:76:89;;:::i;:::-;3791:15545:84;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;8828:15;3791:15545;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;3791:15545:84;;;;-1:-1:-1;;;;;3791:15545:84;;:::i;:::-;;;;5524:14:90;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;3791:15545:84;;;;;1673:36:90;3791:15545:84;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;6910:19;6780:243;6910:19;:::i;:::-;3791:15545:84;;;;;;6948:31:90;3791:15545:84;6948:31:90;;:68;;;;;3791:15545:84;6939:77:90;3791:15545:84;;;;;;;;6948:68:90;3791:15545:84;;;6983:33:90;6948:68;;;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;3230:1:90;3791:15545:84;;;;;7537:8:90;3791:15545:84;;;;;;;;;;7537:65:90;;;3791:15545:84;7533:188:90;;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;;;7533:188:90;7637:73;3791:15545:84;;;;;7537:8:90;3791:15545:84;;7676:34:90;-1:-1:-1;;;;;7637:26:90;3791:15545:84;;;7637:26:90;3791:15545:84;;7676:34:90;;:::i;:::-;7637:73;;:::i;:::-;7533:188;;;7537:65;3791:15545:84;;;;7537:8:90;3791:15545:84;;;;;;;7573:29:90;3791:15545:84;;;;7572:30:90;7537:65;;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;:::i;:::-;;;14943:22:9;;;:::i;:::-;735:10:15;15093:18:9;;:35;;;3791:15545:84;15093:69:9;;;3791:15545:84;15089:142:9;;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;15283:28:9;3791:15545:84;15283:28:9;;3791:15545:84;;15346:15:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;-1:-1:-1;;;;;;3791:15545:84;;;;;;;;;15089:142:9;15189:27;3791:15545:84;15189:27:9;735:10:15;3791:15545:84;;;;15189:27:9;15093:69;3791:15545:84;-1:-1:-1;;;;;3791:15545:84;;;;4039:18:9;3791:15545:84;;;;;-1:-1:-1;;;;;735:10:15;3791:15545:84;-1:-1:-1;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;;;15132:30:9;15093:69;;:35;735:10:15;;-1:-1:-1;;;;;3791:15545:84;;15115:13:9;;15093:35;;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;2442:5:9;3791:15545:84;;2442:5:9;3791:15545:84;;2442:5:9;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;2442:5:9;3791:15545:84;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;-1:-1:-1;3791:15545:84;;;;;;;;;;2442:5:9;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;1622:6:90;3791:15545:84;;;;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;-1:-1:-1;;;;;;3791:15545:84;;;;;;;8461:25:90;3791:15545:84;;8461:25:90;;:65;;;;;3791:15545:84;;;;;;;8461:65:90;1713:25:9;1698:40;;;-1:-1:-1;1698:104:9;;;;8461:65:90;1698:156:9;;;;8461:65:90;;;;;1698:156:9;-1:-1:-1;;;861:40:17;;;1698:156:9;;;:104;1769:33;1754:48;;;-1:-1:-1;1698:104:9;;3791:15545:84;;;;;;;;-1:-1:-1;;3791:15545:84;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;3791:15545:84;;;;:::o;:::-;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;:::o;:::-;;;-1:-1:-1;;;;;3791:15545:84;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;3791:15545:84;;;;;;;;;;:::o;:::-;;;;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;3791:15545:84;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;3791:15545:84;;;;:::o;:::-;;;-1:-1:-1;;;;;3791:15545:84;;;;;;:::o;3497:154:9:-;3583:22;;;:::i;:::-;;-1:-1:-1;3791:15545:84;6034:15:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;-1:-1:-1;3791:15545:84;;;3497:154:9;:::o;3791:15545:84:-;;-1:-1:-1;;;;;3791:15545:84;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;:::o;4143:578:9:-;;;-1:-1:-1;;;;;3791:15545:84;4237:16:9;;4233:87;;3791:15545:84;4251:1:9;3791:15545:84;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;4251:1:9;3791:15545:84;;;25723:18:90;;:38;;;4143:578:9;25723:76:90;;;4143:578:9;25719:162:90;;25972:38;3791:15545:84;;;;;;25972:38:90;3791:15545:84;4251:1:9;3791:15545:84;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;4251:1:9;3791:15545:84;;;735:10:15;;;9035:18:9;;9031:86;;;;4143:578;-1:-1:-1;;;;;9161:18:9;;;9157:256;;4143:578;3791:15545:84;4251:1:9;3791:15545:84;9487:9:9;3791:15545:84;;;4251:1:9;3791:15545:84;9427:16:9;3791:15545:84;;;;;;4251:1:9;3791:15545:84;5799:7:9;3791:15545:84;;;4251:1:9;3791:15545:84;;-1:-1:-1;;;;;;3791:15545:84;;;;;;9577:27:9;;4251:1;9577:27;;3791:15545:84;4610:21:9;;;4606:109;;4143:578;;;:::o;4606:109::-;-1:-1:-1;;;4251:1:9;4654:50;9487:9;3791:15545:84;;;;;;4251:1:9;4654:50;9157:256;9319:5;;3791:15545:84;;15346:15:9;3791:15545:84;;;;;-1:-1:-1;;;;;;3791:15545:84;;;;;14720:662:9;9319:5;3791:15545:84;4251:1:9;3791:15545:84;9368:9:9;3791:15545:84;;;4251:1:9;3791:15545:84;;;;;;;;9157:256:9;;9031:86;6514:127;;;-1:-1:-1;6514:127:9;;;9031:86;7193:39;7189:255;;9031:86;;;;;7189:255;7252:19;;3791:15545:84;;-1:-1:-1;;;4251:1:9;7298:31;;3791:15545:84;;4251:1:9;7298:31;7248:186;7375:44;4251:1;7375:44;735:10:15;7375:44:9;3791:15545:84;;;;4251:1:9;7375:44;6514:127;735:10:15;;6552:16:9;;:52;;;;6514:127;6552:88;6514:127;6552:88;3791:15545:84;;4251:1:9;3791:15545:84;6034:15:9;3791:15545:84;;735:10:15;-1:-1:-1;;;;;3791:15545:84;4251:1:9;3791:15545:84;;;6608:32:9;6514:127;;6552:52;3791:15545:84;;4251:1:9;3791:15545:84;4039:18:9;3791:15545:84;;;4251:1:9;3791:15545:84;-1:-1:-1;;;;;735:10:15;3791:15545:84;4251:1:9;3791:15545:84;;;;;4251:1:9;3791:15545:84;;;6552:52:9;;25719:162:90;25822:48;-1:-1:-1;;;4251:1:9;25822:48:90;;3791:15545:84;;4251:1:9;25822:48:90;25723:76;3791:15545:84;;4251:1:9;3791:15545:84;25766:8:90;3791:15545:84;;;25766:33:90;3791:15545:84;4251:1:9;3791:15545:84;25766:33:90;3791:15545:84;;;;25765:34:90;25723:76;;:38;;25745:16;25723:38;;3791:15545:84;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;3791:15545:84;;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;:::o;:::-;;-1:-1:-1;;;;;3791:15545:84;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;3791:15545:84;;;;;;;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;3791:15545:84;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;3791:15545:84;;-1:-1:-1;3791:15545:84;-1:-1:-1;3791:15545:84;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4985:208:9;;5121:7;;;;;:::i;:::-;17034:14;;17030:664;;4985:208;;;;;:::o;17030:664::-;3791:15545:84;;;-1:-1:-1;;;;;3791:15545:84;;;;;;17072:71:9;;;;;-1:-1:-1;;;17072:71:9;;735:10:15;17072:71:9;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;:::i;:::-;17072:71:9;;17051:1;17072:71;;;17051:1;;17072:71;;;17030:664;-1:-1:-1;17068:616:9;;17331:353;;;:::i;:::-;3791:15545:84;;;17381:18:9;;;17430:25;-1:-1:-1;;;17051:1:9;17430:25;17072:71;3791:15545:84;;17051:1:9;17430:25;17377:293;3791:15545:84;17557:95:9;;17068:616;-1:-1:-1;;;;;;;;;3791:15545:84;;17190:51:9;17186:130;;17068:616;17030:664;;;;;;17186:130;-1:-1:-1;;;17051:1:9;17272:25;17072:71;3791:15545:84;;17051:1:9;17272:25;17072:71;;;;;3791:15545:84;17072:71:9;3791:15545:84;17072:71:9;;;;;;;:::i;:::-;;;;;519:76:89;;;;:::i;:::-;3791:15545:84;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;3123:27:90;3791:15545:84;-1:-1:-1;3791:15545:84;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;-1:-1:-1;3791:15545:84;14295:8:90;3791:15545:84;;;3123:27:90;3791:15545:84;-1:-1:-1;3791:15545:84;14295:29:90;3791:15545:84;;;;14291:114:90;;-1:-1:-1;;;;;3791:15545:84;;14473:16:90;;14469:108;;-1:-1:-1;;;;;3791:15545:84;;14642:11:90;;;14638:100;;3791:15545:84;-1:-1:-1;3791:15545:84;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;-1:-1:-1;3791:15545:84;;;15003:15:90;;;;;:64;;;519:76:89;14999:180:90;;-1:-1:-1;;;;;15301:31:90;;;:::i;:::-;3791:15545:84;15346:27:90;;;15342:134;;3791:15545:84;26344:45:90;3791:15545:84;;-1:-1:-1;3791:15545:84;14295:8:90;3791:15545:84;;26344:26:90;3791:15545:84;-1:-1:-1;3791:15545:84;26344:26:90;3791:15545:84;;;26344:45:90;:::i;:::-;-1:-1:-1;3791:15545:84;;;14295:8:90;3791:15545:84;;;;;26344:26:90;26305;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;26729:36:90;26708:17;3791:15545:84;26708:17:90;;3791:15545:84;;;;;;;;;26749:16:90;;3791:15545:84;;26729:36:90;;:::i;:::-;3791:15545:84;-1:-1:-1;26708:57:90;26704:339;;519:76:89;3791:15545:84;-1:-1:-1;3791:15545:84;14295:8:90;3791:15545:84;;27207:45:90;3791:15545:84;-1:-1:-1;;;;;3123:27:90;3791:15545:84;-1:-1:-1;3791:15545:84;27119:24:90;3791:15545:84;;27207:45:90;;;:::i;:::-;3791:15545:84;;27299:70:90;3791:15545:84;;;;;;27299:70:90;15667:38;3791:15545:84;;;;;;15667:38:90;15834:10;;:23;;:52;;;519:76:89;15830:558:90;;519:76:89;;;;:::o;15830:558:90:-;3791:15545:84;;15920:202:90;-1:-1:-1;;;15920:202:90;;;;;3791:15545:84;15834:10:90;3791:15545:84;;;;;;;;;;;;;15920:202:90;;;-1:-1:-1;15920:202:90;;;;;;;;-1:-1:-1;;;15920:202:90;-1:-1:-1;;;;;;15920:202:90;-1:-1:-1;15920:202:90;;;15830:558;3791:15545:84;;16215:68:90;16211:167;;15830:558;;;;;15920:202;;;;3791:15545:84;15920:202:90;3791:15545:84;15920:202:90;;;;;;;:::i;:::-;;;;15834:52;3791:15545:84;;-1:-1:-1;3791:15545:84;15861:14:90;3791:15545:84;;;;-1:-1:-1;3791:15545:84;;;15834:52:90;;26704:339;-1:-1:-1;3791:15545:84;;;14295:8:90;3791:15545:84;;;;;3123:27:90;26833:29;;3791:15545:84;;-1:-1:-1;;;;3791:15545:84;-1:-1:-1;;;3791:15545:84;;;;;-1:-1:-1;;;;3791:15545:84;;;26704:339:90;;15342:134;15396:69;;;-1:-1:-1;15396:69:90;;3791:15545:84;;;;;;-1:-1:-1;15396:69:90;14999:180;15090:78;;;-1:-1:-1;15090:78:90;;3791:15545:84;15153:10:90;3791:15545:84;;;;;-1:-1:-1;15090:78:90;15003:64;15023:44;;;;:::i;:::-;15022:45;15003:64;;14638:100;14676:51;;-1:-1:-1;14676:51:90;;3791:15545:84;;-1:-1:-1;14676:51:90;14469:108;14512:54;;-1:-1:-1;14512:54:90;;3791:15545:84;;-1:-1:-1;14512:54:90;14291:114;14347:47;-1:-1:-1;;;;14347:47:90;;3791:15545:84;;-1:-1:-1;14347:47:90;3073:165;;3791:15545:84;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;3123:27:90;3791:15545:84;-1:-1:-1;3791:15545:84;3123:27:90;3791:15545:84;;;;3122:28:90;3118:103;;3791:15545:84;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;;3123:27:90;3791:15545:84;-1:-1:-1;3791:15545:84;14295:29:90;3791:15545:84;;;;14291:114:90;;-1:-1:-1;;;;;3791:15545:84;;14473:16:90;;14469:108;;-1:-1:-1;;;;;3791:15545:84;;14642:11:90;;;14638:100;;3791:15545:84;-1:-1:-1;3791:15545:84;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;-1:-1:-1;3791:15545:84;;;15003:15:90;;;;;:64;;;3073:165;14999:180;;-1:-1:-1;;;;;15301:31:90;;;:::i;:::-;3791:15545:84;15346:27:90;;;15342:134;;3791:15545:84;26344:45:90;3791:15545:84;;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;26344:26:90;3791:15545:84;-1:-1:-1;3791:15545:84;26344:26:90;3791:15545:84;;;26344:45:90;:::i;:::-;-1:-1:-1;3791:15545:84;;;3123:8:90;3791:15545:84;;;;;26344:26:90;26305;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;;-1:-1:-1;;3791:15545:84;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;26729:36:90;26708:17;3791:15545:84;26708:17:90;;3791:15545:84;;;;;;;;;26749:16:90;;3791:15545:84;;26729:36:90;;:::i;:::-;3791:15545:84;-1:-1:-1;26708:57:90;26704:339;;3073:165;3791:15545:84;-1:-1:-1;3791:15545:84;3123:8:90;3791:15545:84;;27207:45:90;3791:15545:84;-1:-1:-1;;;;;3123:27:90;3791:15545:84;-1:-1:-1;3791:15545:84;27119:24:90;3791:15545:84;;27207:45:90;;;:::i;:::-;3791:15545:84;;27299:70:90;3791:15545:84;;;;;;27299:70:90;15667:38;3791:15545:84;;;;;;15667:38:90;15834:10;;:23;;:52;;;3073:165;15830:558;;3073:165;;;;:::o;15830:558::-;3791:15545:84;;15920:202:90;-1:-1:-1;;;15920:202:90;;;;;3791:15545:84;15834:10:90;3791:15545:84;;;;;;;;;;;;;15920:202:90;;;-1:-1:-1;15920:202:90;;;;;;;;-1:-1:-1;;;15920:202:90;-1:-1:-1;;;;;;15920:202:90;-1:-1:-1;15920:202:90;;;15830:558;3791:15545:84;;16215:68:90;16211:167;;15830:558;;;;;16211:167;-1:-1:-1;;;;;16310:53:90;-1:-1:-1;;;;16310:53:90;3791:15545:84;23861:234:90;3791:15545:84;;-1:-1:-1;16310:53:90;15920:202;;;;3791:15545:84;15920:202:90;3791:15545:84;15920:202:90;;;;;;;:::i;:::-;;;;15834:52;15861:25;3791:15545:84;15861:25:90;;-1:-1:-1;;;;;3791:15545:84;;;23802:14:90;3791:15545:84;;;;;;;15861:25:90;3791:15545:84;;15834:52:90;;26704:339;-1:-1:-1;3791:15545:84;;;3123:8:90;3791:15545:84;;;;;3123:27:90;26833:29;;3791:15545:84;;-1:-1:-1;;;;3791:15545:84;-1:-1:-1;;;3791:15545:84;;;;;-1:-1:-1;;;;3791:15545:84;;;26704:339:90;;15003:64;15023:44;;;;:::i;:::-;15022:45;15003:64;;3791:15545:84;;;;;;;;;;-1:-1:-1;;;;;;3791:15545:84;;;;;;;:::o;16138:241:9:-;3791:15545:84;-1:-1:-1;3791:15545:84;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;-1:-1:-1;3791:15545:84;;;16267:19:9;;;16263:88;;16360:12;16138:241;:::o;9511:950:84:-;3791:15545;9705:15;3791:15545;;;;9735:8;3791:15545;;;;;;;;;;;9735:46;;9731:85;;3791:15545;;;9735:8;3791:15545;;;;;;;;;;9961:25;;9957:99;;3791:15545;;;10070:9;3791:15545;;10099:1;3791:15545;;;;10070:30;10066:389;10099:1;;;10221:53;;;:::i;:::-;10214:60;:::o;10066:389::-;10397:47;;;:::i;9957:99::-;3791:15545;;9735:8;3791:15545;;-1:-1:-1;;;;;10009:26:84;3791:15545;;;10009:26;3791:15545;;10002:43;:::o;9731:85::-;9797:8;;3791:15545;9797:8;:::o;19886:594:90:-;3791:15545:84;;;19975:8:90;3791:15545:84;;;19975:29:90;3791:15545:84;;;19975:29:90;3791:15545:84;;;;19971:185:90;3791:15545:84;;;20020:29:90;20027:22;20020:29;:::o;19971:185::-;3791:15545:84;;;19975:8:90;3791:15545:84;;;;;;;;20066:90:90;;3791:15545:84;;;19975:8:90;3791:15545:84;;;;;;;;;;20170:15:90;:46;20166:105;;20285:34;;;:::i;:::-;3791:15545:84;;;19975:8:90;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;20322:26:90;3791:15545:84;;;20322:26:90;3791:15545:84;;;;20285:73:90;20281:193;3791:15545:84;;;19975:29:90;20374:30;:::o;20281:193::-;20322:26;20435:28;:::o;20166:105::-;20232:28;3791:15545:84;20232:28:90;:::o;20066:90::-;20116:29;20123:22;20116:29;:::o;25568:500::-;;3791:15545:84;;;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;25723:18:90;;:38;;;25568:500;25723:76;;;25568:500;25719:162;;25972:38;3791:15545:84;;;;;;25972:38:90;3791:15545:84;;;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;;9161:18:9;;9157:256;;25568:500:90;3791:15545:84;9427:16:9;9423:107;;25568:500:90;3791:15545:84;;;5799:7:9;3791:15545:84;;;;;;-1:-1:-1;;;;;;3791:15545:84;;;;;;9577:27:9;;3791:15545:84;9577:27:9;;25568:500:90;:::o;9423:107:9:-;3791:15545:84;;;9487:9:9;3791:15545:84;;;;;9035:18:9;3791:15545:84;;;;;9423:107:9;;9157:256;9319:5;;3791:15545:84;;15346:15:9;3791:15545:84;;;;;-1:-1:-1;;;;;;3791:15545:84;;;;;14720:662:9;9319:5;3791:15545:84;;;9368:9:9;3791:15545:84;;;;;;;;;;;;9157:256:9;;25723:76:90;3791:15545:84;;;;25766:8:90;3791:15545:84;;;25766:33:90;3791:15545:84;;;25766:33:90;3791:15545:84;;;;25765:34:90;25723:76;;:38;3791:15545:84;-1:-1:-1;;;;;3791:15545:84;;25745:16:90;;25723:38;;1115:145:89;-1:-1:-1;;;;;1191:8:89;3791:15545:84;1182:4:89;1174:25;1170:84;;1115:145::o;1170:84::-;1222:21;;;;;;3791:15545:84;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;16431:2903::-;;16667:89;-1:-1:-1;;;;;16702:18:84;;;3791:15545;;16722:17;:13;;;;:17;3791:15545;16667:89;;:::i;:::-;3791:15545;-1:-1:-1;;;;;3791:15545:84;;;16880:15;;;;;16916:16;;;;3791:15545;;;;;5058:18:99;;5054:98;;5212:14;;5208:90;;3791:15545:84;;5409:17:99;;5405:103;;16897:17:84;5599:30:99;;5595:131;;9487:11;3791:15545:84;16702:18;9487:11:99;;;:::i;:::-;;:21;3791:15545:84;;9474:34:99;;;9470:207;;9748:25;-1:-1:-1;9783:30:99;-1:-1:-1;9823:31:99;-1:-1:-1;3791:15545:84;;-1:-1:-1;10067:754:99;10091:13;;;;;;11110:15;;;;3791:15545:84;11110:15:99;;3791:15545:84;;;11140:41:99;;;;;11136:164;;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;11388:34:99;;;;11384:206;;3791:15545:84;;17000:12;3791:15545;;;-1:-1:-1;3791:15545:84;17092:8;16722:17;3791:15545;16702:18;-1:-1:-1;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;-1:-1:-1;;;;;17120:14:84;;;3791:15545;;-1:-1:-1;;3791:15545:84;;;;;;-1:-1:-1;;;;;17193:12:84;;;3791:15545;;17178:12;-1:-1:-1;;;;;3791:15545:84;17178:12;;3791:15545;;-1:-1:-1;;;;;;3791:15545:84;;;;;;17237:17;;;3791:15545;;;;;-1:-1:-1;;;;3791:15545:84;;;;;;;;;;;;;;17320:19;3791:15545;17320:19;;;3791:15545;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;-1:-1:-1;;;;;;3791:15545:84;;;;;;;;;16880:15;;;;17544;3791:15545;;;;16702:18;17597:33;3791:15545;;;;;;;17597:33;;:::i;:::-;;:43;3791:15545;;;;;17320:19;3791:15545;;;;;;;;-1:-1:-1;17913:16:84;;;;;;3791:15545;;;;;17000:12;3791:15545;-1:-1:-1;;;;;16722:17:84;18291:16;;3791:15545;;10022:16:9;;10018:87;;10138:32;;-1:-1:-1;;;;;10138:32:9;;:::i;:::-;3791:15545:84;10180:96:9;;17193:12:84;;18393:100;-1:-1:-1;;;;;17193:12:84;18785:542;17193:12;;3791:15545;;-1:-1:-1;;;;;3791:15545:84;;;18455:4;;18431:10;;18393:100;;:::i;:::-;-1:-1:-1;;;;;16722:17:84;18565:23;;3791:15545;;18565:27;18561:168;;17893:120;3791:15545;-1:-1:-1;;;;;3791:15545:84;;;18291:16;3791:15545;;-1:-1:-1;;;;;16722:17:84;18291:16;;3791:15545;;17193:12;-1:-1:-1;;;;;17193:12:84;;;3791:15545;;;;;;;;;;-1:-1:-1;;;;;16722:13:84;16880:15;;;19158;3791:15545;;;;16702:18;3791:15545;;;;;:::i;:::-;;;17320:19;3791:15545;;;;;;;16722:17;19199:74;;3791:15545;16722:13;19295;3791:15545;;;-1:-1:-1;;;;;16722:17:84;16702:18;3791:15545;;;;;;18431:10;3791:15545;;;;;;;;16702:18;3791:15545;;;18565:23;3791:15545;;17193:12;3791:15545;;;17237:17;3791:15545;;;17320:19;3791:15545;;;;16916:16;3791:15545;;;;;;;;:::i;:::-;;16880:15;3791:15545;;;;;;;;;;;;;;;;;;;;;;;;;18785:542;;;16431:2903::o;18561:168::-;18608:110;17193:12;-1:-1:-1;;;;;17193:12:84;;;3791:15545;;-1:-1:-1;;;;;16722:13:84;;;18662;3791:15545;;18431:10;;18608:110;;:::i;:::-;18561:168;;;10180:96:9;10234:31;-1:-1:-1;10234:31:9;-1:-1:-1;10234:31:9;3791:15545:84;;-1:-1:-1;10234:31:9;17931:3:84;3791:15545;-1:-1:-1;3791:15545:84;17954:9;16722:17;3791:15545;16702:18;-1:-1:-1;3791:15545:84;16880:15;17979:18;16880:15;;;;17979;:18;:::i;:::-;;3791:15545;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3791:15545:84;16722:17;-1:-1:-1;3791:15545:84;;;-1:-1:-1;;;;;3791:15545:84;;;;;-1:-1:-1;;3791:15545:84;;;;;;16722:17;3791:15545;;;;;;16702:18;3791:15545;;;;17237:17;3791:15545;;;;;;;;;;;;16916:16;3791:15545;;;;;;;;;17898:13;;11384:206:99;11445:134;-1:-1:-1;11445:134:99;;3791:15545:84;;;;-1:-1:-1;11445:134:99;11136:164;11204:85;-1:-1:-1;11204:85:99;;3791:15545:84;;;;-1:-1:-1;11204:85:99;10106:7;10208:15;;;;;10187:43;10208:15;-1:-1:-1;;;;;10208:15:99;;;;:::i;:::-;;3791:15545:84;;10187:43:99;;:::i;:::-;10364:15;3791:15545:84;10364:15:99;16702:18:84;10364:15:99;;;;:::i;:::-;;:25;3791:15545:84;;;;10407:51:99;;;;10403:250;;10760:50;3791:15545:84;10760:50:99;10106:7;3791:15545:84;10072:17:99;;;;;10403:250;10485:153;;;;-1:-1:-1;10485:153:99;;3791:15545:84;;;;;;-1:-1:-1;10485:153:99;9470:207;3791:15545:84;16702:18;9631:11:99;;;:::i;:::-;;:21;3791:15545:84;;9531:135:99;;-1:-1:-1;9531:135:99;;3791:15545:84;;;;-1:-1:-1;9531:135:99;5595:131;5652:63;-1:-1:-1;5652:63:99;;3791:15545:84;;-1:-1:-1;5652:63:99;5405:103;5449:48;-1:-1:-1;5449:48:99;;-1:-1:-1;5449:48:99;5208:90;5249:38;-1:-1:-1;5249:38:99;;-1:-1:-1;5249:38:99;5054:98;5099:42;-1:-1:-1;5099:42:99;;-1:-1:-1;5099:42:99;19235:301:90;3791:15545:84;-1:-1:-1;3791:15545:84;5799:7:9;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;-1:-1:-1;3791:15545:84;;;19391:10:90;;;:23;:87;;;;;19235:301;19391:138;;;;;19384:145;19235:301;:::o;19391:138::-;:10;;-1:-1:-1;;;;;19494:21:90;19391:10;19494:21;;:::i;:::-;3791:15545:84;19494:35:90;19235:301;:::o;19391:87::-;3791:15545:84;;;-1:-1:-1;3791:15545:84;4039:18:9;3791:15545:84;;;-1:-1:-1;3791:15545:84;-1:-1:-1;;;;;19391:10:90;3791:15545:84;-1:-1:-1;3791:15545:84;;;;;-1:-1:-1;3791:15545:84;;;19391:87:90;;;;20585:408;3791:15545:84;;;20704:8:90;3791:15545:84;;;20704:26:90;3791:15545:84;;;20704:26:90;3791:15545:84;:::i;:::-;;;;;20704:8:90;3791:15545:84;;;20745:29:90;3791:15545:84;;;20745:29:90;3791:15545:84;;;;20741:194:90;3791:15545:84;;;-1:-1:-1;3791:15545:84;20797:17:90;3791:15545:84;-1:-1:-1;;;;;3791:15545:84;;20790:24:90:o;20741:194::-;3791:15545:84;;;;20704:8:90;3791:15545:84;;;;;;;;20831:104:90;;20741:194;20952:34;20741:194;20952:34;:::i;20831:104::-;20888:36;3791:15545:84;;-1:-1:-1;;;;;3791:15545:84;;;;;20908:16:90;;3791:15545:84;;20888:36:90;;:::i;3791:15545:84:-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;3791:15545:84;;;;:::o;:::-;;;:::o;21098:171:90:-;21196:66;21098:171;21196:27;;;:::i;:::-;3791:15545:84;-1:-1:-1;3791:15545:84;21226:8:90;3791:15545:84;;21226:26:90;3791:15545:84;-1:-1:-1;3791:15545:84;21226:26:90;3791:15545:84;;;21196:66:90;;:::i;3791:15545:84:-;;-1:-1:-1;;;;;3791:15545:84;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;:::o;14454:1650::-;3791:15545;;;;14743:8;3791:15545;;;;;;15015:30;;3791:15545;;;;;;;;;;;;;;;;;;;;14724:15;3791:15545;;;;15015:30;:::i;:::-;3791:15545;;;;15133:9;3791:15545;;;;;;;;;;;;15450:31;3791:15545;;;;;;;;;;;;14743:8;3791:15545;;15376:35;-1:-1:-1;;;;;15218:26:84;3791:15545;;;15218:26;3791:15545;;15376:35;;;;:::i;:::-;15450:31;:::i;:::-;1025:23:35;;;15824:116:84;;16058:28;;-1:-1:-1;;;;;16058:28:84;;:::i;:::-;3791:15545;14454:1650;:::o;15824:116::-;3791:15545;;;;14743:8;3791:15545;;15218:26;3791:15545;;;15889:26;3791:15545;;;15882:43;:::o;10934:3328::-;;3791:15545;11102:15;3791:15545;;;;;11162:8;3791:15545;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3791:15545:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;11236:9;3791:15545;;;;;;;:::i;:::-;11351:30;3791:15545;11428:11;3791:15545;;11428:11;;;:::i;:::-;;:21;3791:15545;;11463:17;3791:15545;;11494:227;11501:40;3791:15545;11501:40;;;11840:15;13046:32;3791:15545;11840:15;;;;;;-1:-1:-1;;;;;11840:15:84;13186:49;11840:15;13281:36;11840:15;;;:::i;:::-;;3791:15545;;11923:15;;;3791:15545;;11923:15;;;;:::i;:::-;;:24;3791:15545;;12001:15;;3791:15545;12001:15;;;;:::i;:::-;;:25;3791:15545;;;12083:10;;;3791:15545;;;;12079:542;;;3791:15545;;;;;13046:32;:::i;:::-;13186:49;:::i;13281:36::-;1025:23:35;;;13711:233:84;;14209:35;;-1:-1:-1;;;;;14209:35:84;;;;:::i;:::-;3791:15545;;;10934:3328;:::o;13711:233::-;-1:-1:-1;;;;;13813:14:84;;3791:15545;13813:14;;:24;3791:15545;;;-1:-1:-1;;;;;3791:15545:84;;13788:49;:141;:49;;;:141;13781:148;:::o;13788:141::-;;;13781:148;:::o;12079:542::-;3791:15545;;;;12577:19;3791:15545;;;;12577:19;;:::i;:::-;;:29;3791:15545;;12079:542;;;;11494:227;11587:15;-1:-1:-1;;;;;3791:15545:84;11587:15;;;;;;:::i;:::-;;3791:15545;;;;;;11681:15;;3791:15545;11681:15;3791:15545;11681:15;;;;:::i;:::-;;:25;3791:15545;;11494:227;;;;;3609:1081:99;;;;3791:15545:84;;;;;:::i;:::-;-1:-1:-1;3791:15545:84;;-1:-1:-1;3791:15545:84;;;;;-1:-1:-1;;;;;3791:15545:84;;3910:16:99;;;3906:80;;1622:6:90;1033:23:46;;4065:128:99;;19074:39:47;-1:-1:-1;;;;;19074:39:47;;;:::i;:::-;3791:15545:84;4325:17:99;;;3791:15545:84;;;;4504:31:99;3791:15545:84;;;-1:-1:-1;;;;;3791:15545:84;;4652:31:99;3791:15545:84;;;4652:31:99;;:::i;:::-;3791:15545:84;;;3609:1081:99:o;3791:15545:84:-;-1:-1:-1;;;3925:1:99;3791:15545:84;;;;;3925:1:99;3791:15545:84;4065:128:99;4118:64;3925:1;4118:64;;3791:15545:84;1622:6:90;3791:15545:84;;;3925:1:99;4118:64;3906:80;3791:15545:84;;;;;;;;;;:::i;:::-;3925:1:99;3791:15545:84;;3925:1:99;3949:26;;;3791:15545:84;3942:33:99;:::o;1702:188:8:-;;;;-1:-1:-1;;;;;1829:53:8;1702:188;3791:15545:84;;;1829:53:8;3791:15545:84;1829:53:8;;;;3791:15545:84;1829:53:8;;;3791:15545:84;;;;;;;;;;;1829:53:8;;;;;;:::i;:::-;;:::i;:::-;1702:188::o;1303:160::-;1412:43;1303:160;-1:-1:-1;;;;;3791:15545:84;;1412:43:8;3791:15545:84;1412:43:8;;;;3791:15545:84;1412:43:8;;;3791:15545:84;;;;;1412:43:8;;;;;;;:::i;4065:1153:36:-;-1:-1:-1;;;4200:20:36;;:44;;;;4065:1153;4196:116;;-1:-1:-1;4432:8:36;;-1:-1:-1;;;4652:41:36;1934:79:32;-1:-1:-1;1934:79:32;4432:41:36;-1:-1:-1;4490:8:36;;-1:-1:-1;;;1934:79:32;-1:-1:-1;1934:79:32;4490:41:36;4652;:::i;:::-;4703:33;1458:78:32;4703:33:36;;4699:104;;-1:-1:-1;;4995:11:36;;4994:18;3791:15545:84;;;4065:1153:36;:::o;5159:49::-;-1:-1:-1;1934:79:32;4065:1153:36;:::o;4699:104::-;4755:41;;-1:-1:-1;4755:41:36;;3791:15545:84;1458:78:32;3791:15545:84;1458:78:32;-1:-1:-1;4755:41:36;4490;;;4652;:::i;4432:::-;4652;4432;;;4196:116;4263:42;-1:-1:-1;4263:42:36;;-1:-1:-1;4263:42:36;4200:44;4224:20;-1:-1:-1;;;4224:20:36;;4200:44;;24289:690;24526:9;;;-1:-1:-1;24554:9:36;;2558:4:32;24547:30:36;:::o;24554:23::-;3791:15545:84;24547:30:36;:::o;24522:171::-;24650:13;2515:4:32;24650:13:36;;24646:47;;24753:9;;;24774:11;;2558:4:32;24774:11:36;:::o;24749:144::-;2515:4:32;24853:13:36;;24849:44;;24960:15;24749:144;24964:7;24955:21;24749:144;24964:7;:::i;24960:15::-;24955:21;:::i;24849:44::-;24878:8;;:::o;24646:47::-;24675:11;;2515:4:32;24675:11:36;:::o;22630:1139::-;-1:-1:-1;;;22765:20:36;;:44;;;;22630:1139;22761:116;;-1:-1:-1;22997:8:36;;-1:-1:-1;;;23217:27:36;1934:79:32;-1:-1:-1;1934:79:32;22997:41:36;-1:-1:-1;23055:8:36;;-1:-1:-1;;;1934:79:32;-1:-1:-1;1934:79:32;23055:41:36;23217:27;:::i;:::-;23254:33;1458:78:32;23254:33:36;;23250:104;;-1:-1:-1;;23546:11:36;;23545:18;3791:15545:84;;;22630:1139:36;:::o;23250:104::-;23306:41;;-1:-1:-1;23306:41:36;;3791:15545:84;1458:78:32;3791:15545:84;1458:78:32;-1:-1:-1;23306:41:36;23055;;;23217:27;:::i;22997:41::-;23217:27;22997:41;;;22761:116;22828:42;-1:-1:-1;22828:42:36;;-1:-1:-1;22828:42:36;22765:44;22789:20;-1:-1:-1;;;22789:20:36;;22765:44;;2175:227:31;2291:1;2284:8;;2280:92;;2175:227;:::o;2280:92::-;2311:54;2291:1;2311:54;;3791:15545:84;;2291:1:31;2311:54;4059:629:8;2847:1:13;4059:629:8;-1:-1:-1;;;;;3510:55:13;4059:629:8;3791:15545:84;3462:31:13;;;;;;;;;;;;:::i;:::-;3510:55;;;:::i;:::-;3791:15545:84;;4551:22:8;;;;:57;;;;4059:629;4547:135;;;;4059:629;:::o;4547:135::-;4631:40;2847:1:13;4631:40:8;;3791:15545:84;;2847:1:13;4631:40:8;4551:57;4578:30;;;3462:31:13;4578:30:8;;;;;;;;:::i;:::-;4577:31;4551:57;;;;14474:4121:21;-1:-1:-1;;2515:4:32;14969:150:21;;;2515:4:32;14969:150:21;;;;;;;;;;;;;15184:10;;15180:93;;15363:20;;;;15359:92;;2515:4:32;15746:288:21;;;16435:1;16420:12;;3791:15545:84;16405:32:21;;16480:667;;;17576:1;3791:15545:84;17557:1:21;3791:15545:84;17556:21:21;3791:15545:84;;;17576:1:21;3791:15545:84;;;;;17576:1:21;3791:15545:84;;;;;17576:1:21;3791:15545:84;;;;;17576:1:21;3791:15545:84;;;;;17576:1:21;3791:15545:84;;;;;17576:1:21;3791:15545:84;;16480:667:21;16435:1;16480:667;;3791:15545:84;16480:667:21;;;15746:288;;;;;;3791:15545:84;15746:288:21;;16480:667;17205:31;3791:15545:84;14474:4121:21;:::o;15359:92::-;15402:42;3791:15545:84;15402:42:21;;3791:15545:84;2515:4:32;3791:15545:84;;;;;;15402:42:21;15180:93;15237:19;;;3791:15545:84;;;;;15230:26:21;:::o;3791:15545:84:-;-1:-1:-1;;;3791:15545:84;;;;;;;;2632:4:32;;;;;;;;:::o;20411:1697:36:-;20472:24;20514:1;20506:9;;;20502:82;;2515:4:32;20635:13:36;;2515:4:32;;20664:8:36;20671:1;20631:194;;2515:4:32;2632;;-1:-1:-1;;;;;12654:169:21;;;;;;;12840:153;;;;;;;;13010:145;;;;;;;;13172:141;;;;;;;;13329:139;;;;;;;;;13484:138;;;;;;;;;13638;;13329:139;13638:138;;;;;;;13828:102;12840:153;;13010:145;13172:141;13329:139;13484:138;13638;13828:102;2515:4:32;2632;;;;;21322:10:36;2515:4:32;21322:10:36;;21318:70;;21618:25;1024:6:32;21613:426:36;21645:9;20514:1;21645:9;;;;2632:4:32;;;20411:1697:36;:::o;21656:11::-;2632:4:32;2515;2632;;;21785:16:36;21599:4;21785:16;;;21781:248;;21656:11;13638:138:21;2632:4:32;21618:25:36;;;21781:248;1024:6:32;;;;2632:4;13638:138:21;2632:4:32;21781:248:36;;;21318:70;2632:4:32;;2515;2632;;;;;21348:29:36;:::o;20631:194::-;-1:-1:-1;;3791:15545:84;-1:-1:-1;2632:4:32;;;;;;20631:194:36;;20502:82;20534:43;20514:1;20534:43;;3791:15545:84;;20514:1:36;20534:43;6867:943;3791:15545:84;6962:8:36;;3791:15545:84;;;-1:-1:-1;;7069:26:36;;7065:68;;7258:17;1934:79:32;3791:15545:84;1934:79:32;7258:17:36;:::i;:::-;7242:42;;;:::i;6958:850::-;695:10:32;7409:22:36;;7405:102;;2515:4:32;3791:15545:84;7640:2:36;3791:15545:84;2632:4:32;2631:50:21;3246:18;3242:22;;3238:1023;;6958:850:36;2515:4:32;4275:20:21;4279:16;4275:20;;4271:1005;;6958:850:36;5294:14:21;5290:18;;5286:987;;6958:850:36;6291:12:21;6287:16;;6283:969;;6958:850:36;7270:10:21;7266:14;;7262:951;;6958:850:36;8231:8:21;8227:12;;8223:933;;6958:850:36;9174:6:21;9170:10;;9166:915;;6958:850:36;10099:4:21;10095:8;;10091:897;;6958:850:36;3791:15545:84;;7640:2:36;3791:15545:84;11604:3:21;3791:15545:84;;6958:850:36;6867:943::o;10091:897:21:-;10131:4;10127:8;;10123:96;;10091:897;7640:2:36;10236:8:21;;10232:96;;10091:897;10349:4;10345:8;;10341:96;;10091:897;10458:4;10454:8;;10450:96;;10091:897;10567:3;10563:7;;10559:95;;10091:897;10675:3;10671:7;;10667:95;;10091:897;10783:3;10779:7;;10775:95;;10091:897;10891:3;10887:7;;10883:95;10091:897;10883:95;10937:19;3791:15545:84;7640:2:36;3791:15545:84;10091:897:21;;10775:95;10829:19;3791:15545:84;7640:2:36;3791:15545:84;10775:95:21;;10667;10721:19;3791:15545:84;7640:2:36;3791:15545:84;10667:95:21;;10559;10613:19;3791:15545:84;7640:2:36;3791:15545:84;10559:95:21;;10450:96;10505:19;3791:15545:84;7640:2:36;3791:15545:84;10450:96:21;;10341;10396:19;3791:15545:84;7640:2:36;3791:15545:84;10341:96:21;;10232;10287:19;3791:15545:84;7640:2:36;3791:15545:84;10232:96:21;;10123;10178:19;3791:15545:84;7640:2:36;3791:15545:84;10123:96:21;;9166:915;9208:6;9204:10;;9200:98;;9166:915;9319:6;9315:10;;9311:98;;9166:915;9430:6;9426:10;;9422:98;;9166:915;9541:6;9537:10;;9533:98;;9166:915;9652:5;9648:9;;9644:97;;9166:915;9762:5;9758:9;;9754:97;;9166:915;9872:5;9868:9;;9864:97;;9166:915;9982:5;9978:9;;9974:97;9166:915;9974:97;10030:19;3791:15545:84;7640:2:36;3791:15545:84;9166:915:21;;9864:97;9920:19;3791:15545:84;7640:2:36;3791:15545:84;9864:97:21;;9754;9810:19;3791:15545:84;7640:2:36;3791:15545:84;9754:97:21;;9644;9700:19;3791:15545:84;7640:2:36;3791:15545:84;9644:97:21;;9533:98;9590:19;3791:15545:84;7640:2:36;3791:15545:84;9533:98:21;;9422;9479:19;3791:15545:84;7640:2:36;3791:15545:84;9422:98:21;;9311;9368:19;3791:15545:84;7640:2:36;3791:15545:84;9311:98:21;;9200;9257:19;3791:15545:84;7640:2:36;3791:15545:84;9200:98:21;;8223:933;8267:8;8263:12;;8259:100;;8223:933;8380:8;8376:12;;8372:100;;8223:933;8493:8;8489:12;;8485:100;;8223:933;8606:8;8602:12;;8598:100;;8223:933;8719:7;8715:11;;8711:99;;8223:933;8831:7;8827:11;;8823:99;;8223:933;8943:7;8939:11;;8935:99;;8223:933;9055:7;9051:11;;9047:99;8223:933;9047:99;9105:19;3791:15545:84;7640:2:36;3791:15545:84;8223:933:21;;8935:99;8993:19;3791:15545:84;7640:2:36;3791:15545:84;8935:99:21;;8823;8881:19;3791:15545:84;7640:2:36;3791:15545:84;8823:99:21;;8711;8769:19;3791:15545:84;7640:2:36;3791:15545:84;8711:99:21;;8598:100;8657:19;3791:15545:84;7640:2:36;3791:15545:84;8598:100:21;;8485;8544:19;3791:15545:84;7640:2:36;3791:15545:84;8485:100:21;;8372;8431:19;3791:15545:84;7640:2:36;3791:15545:84;8372:100:21;;8259;8318:19;3791:15545:84;7640:2:36;3791:15545:84;8259:100:21;;7262:951;7308:10;7304:14;;7300:102;;7262:951;7423:10;7419:14;;7415:102;;7262:951;7538:10;7534:14;;7530:102;;7262:951;7653:10;7649:14;;7645:102;;7262:951;7768:9;7764:13;;7760:101;;7262:951;7882:9;7878:13;;7874:101;;7262:951;7996:9;7992:13;;7988:101;;7262:951;8110:9;8106:13;;8102:101;7262:951;8102:101;8162:19;3791:15545:84;7640:2:36;3791:15545:84;7262:951:21;;7988:101;8048:19;3791:15545:84;7640:2:36;3791:15545:84;7988:101:21;;7874;7934:19;3791:15545:84;7640:2:36;3791:15545:84;7874:101:21;;7760;7820:19;3791:15545:84;7640:2:36;3791:15545:84;7760:101:21;;7645:102;7706:19;3791:15545:84;7640:2:36;3791:15545:84;7645:102:21;;7530;7591:19;3791:15545:84;7640:2:36;3791:15545:84;7530:102:21;;7415;7476:19;3791:15545:84;7640:2:36;3791:15545:84;7415:102:21;;7300;7361:19;3791:15545:84;7640:2:36;3791:15545:84;7300:102:21;;6283:969;6331:12;6327:16;;6323:104;;6283:969;6448:12;6444:16;;6440:104;;6283:969;6565:12;6561:16;;6557:104;;6283:969;6682:12;6678:16;;6674:104;;6283:969;6799:11;6795:15;;6791:103;;6283:969;6915:11;6911:15;;6907:103;;6283:969;7031:11;7027:15;;7023:103;;6283:969;7147:11;7143:15;;7139:103;6283:969;7139:103;7201:19;3791:15545:84;7640:2:36;3791:15545:84;6283:969:21;;7023:103;7085:19;3791:15545:84;7640:2:36;3791:15545:84;7023:103:21;;6907;6969:19;3791:15545:84;7640:2:36;3791:15545:84;6907:103:21;;6791;6853:19;3791:15545:84;7640:2:36;3791:15545:84;6791:103:21;;6674:104;6737:19;3791:15545:84;7640:2:36;3791:15545:84;6674:104:21;;6557;6620:19;3791:15545:84;7640:2:36;3791:15545:84;6557:104:21;;6440;6503:19;3791:15545:84;7640:2:36;3791:15545:84;6440:104:21;;6323;6386:19;3791:15545:84;7640:2:36;3791:15545:84;6323:104:21;;5286:987;5336:14;5332:18;;5328:106;;5286:987;5455:14;5451:18;;5447:106;;5286:987;5574:14;5570:18;;5566:106;;5286:987;5693:14;5689:18;;5685:106;;5286:987;5812:13;5808:17;;5804:105;;5286:987;5930:13;5926:17;;5922:105;;5286:987;6048:13;6044:17;;6040:105;;5286:987;6166:13;6162:17;;6158:105;5286:987;6158:105;6222:19;3791:15545:84;7640:2:36;3791:15545:84;5286:987:21;;6040:105;6104:19;3791:15545:84;7640:2:36;3791:15545:84;6040:105:21;;5922;5986:19;3791:15545:84;7640:2:36;3791:15545:84;5922:105:21;;5804;5868:19;3791:15545:84;7640:2:36;3791:15545:84;5804:105:21;;5685:106;5750:19;3791:15545:84;7640:2:36;3791:15545:84;5685:106:21;;5566;5631:19;3791:15545:84;7640:2:36;3791:15545:84;5566:106:21;;5447;5512:19;3791:15545:84;7640:2:36;3791:15545:84;5447:106:21;;5328;5393:19;3791:15545:84;7640:2:36;3791:15545:84;5328:106:21;;4271:1005;4323:16;4319:20;;4315:108;;4271:1005;4444:16;4440:20;;4436:108;;4271:1005;4565:16;4561:20;;4557:108;;4271:1005;4686:16;4682:20;;4678:108;;4271:1005;4807:15;4803:19;;4799:107;;4271:1005;4927:15;4923:19;;4919:107;;4271:1005;5047:15;5043:19;;5039:107;;4271:1005;5167:15;5163:19;;5159:107;4271:1005;5159:107;5225:19;3791:15545:84;7640:2:36;3791:15545:84;4271:1005:21;;5039:107;5105:19;3791:15545:84;7640:2:36;3791:15545:84;5039:107:21;;4919;4985:19;3791:15545:84;7640:2:36;3791:15545:84;4919:107:21;;4799;4865:19;3791:15545:84;7640:2:36;3791:15545:84;4799:107:21;;4678:108;4745:19;3791:15545:84;7640:2:36;3791:15545:84;4678:108:21;;4557;4624:19;3791:15545:84;7640:2:36;3791:15545:84;4557:108:21;;4436;4503:19;3791:15545:84;7640:2:36;3791:15545:84;4436:108:21;;4315;4382:19;3791:15545:84;7640:2:36;3791:15545:84;4315:108:21;;3238:1023;3292:18;3288:22;;3284:110;;3238:1023;2515:4:32;3411:22:21;3415:18;3411:22;;3407:110;;3238:1023;3538:18;3534:22;;3530:110;;3238:1023;3661:18;3657:22;;3653:110;;3238:1023;3784:17;3780:21;;3776:109;;3238:1023;3906:17;3902:21;;3898:109;;3238:1023;4028:17;4024:21;;4020:109;;3238:1023;4150:17;4146:21;;4142:109;;3238:1023;;;;;4142:109;4210:19;3791:15545:84;7640:2:36;3791:15545:84;4142:109:21;;4020;4088:19;3791:15545:84;7640:2:36;3791:15545:84;4020:109:21;;3898;3966:19;3791:15545:84;7640:2:36;3791:15545:84;3898:109:21;;3776;3844:19;3791:15545:84;7640:2:36;3791:15545:84;3776:109:21;;3653:110;3722:19;3791:15545:84;7640:2:36;3791:15545:84;3653:110:21;;3530;3599:19;3791:15545:84;7640:2:36;3791:15545:84;3530:110:21;;3407;3476:19;3791:15545:84;7640:2:36;3791:15545:84;3407:110:21;;3284;-1:-1:-1;3791:15545:84;3284:110:21;;7405:102:36;7454:42;3791:15545:84;7454:42:36;;3791:15545:84;;;7454:42:36;19579:819:21;;;;-1:-1:-1;;19579:819:21;;19693:150;;;;;;;;;;;;;;;19853:10;;19849:86;;1504:4;19945:13;;;19941:74;;20044:352;;;1504:4;20044:352;;;;;;;;;;;;;;;;19579:819;:::o;19941:74::-;19977:31;;;3791:15545:84;19977:31:21;;3791:15545:84;;;;;19977:31:21;19849:86;-1:-1:-1;;1504:4:21;3791:15545:84;;;-1:-1:-1;19899:19:21:o;4625:582:13:-;;4797:8;;-1:-1:-1;3791:15545:84;;5874:21:13;:17;;6046:142;;;;;;5870:383;6225:17;5894:1;6225:17;;5894:1;6225:17;4793:408;3791:15545:84;;5045:22:13;:49;;;4793:408;5041:119;;5173:17;;:::o;5041:119::-;-1:-1:-1;;;;;5121:24:13;;5066:1;5121:24;3791:15545:84;5121:24:13;3791:15545:84;;5066:1:13;5121:24;5045:49;5071:18;;;:23;5045:49;","linkReferences":{},"immutableReferences":{"63882":[{"start":3018,"length":32},{"start":14847,"length":32}],"67013":[{"start":14645,"length":32}]}},"methodIdentifiers":{"MAX_BROKER_FEE()":"027b6744","MAX_SEGMENT_COUNT()":"9188ec84","admin()":"f851a440","allowToHook(address)":"406887cb","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","cancel(uint256)":"40e58ee5","cancelMultiple(uint256[])":"8659c270","createWithDurations((address,address,uint128,address,bool,bool,(uint128,uint64,uint40)[],(address,uint256)))":"54c02292","createWithTimestamps((address,address,uint128,address,bool,bool,uint40,(uint128,uint64,uint40)[],(address,uint256)))":"31df3d48","getApproved(uint256)":"081812fc","getAsset(uint256)":"eac8f5b8","getDepositedAmount(uint256)":"a80fc071","getEndTime(uint256)":"9067b677","getRecipient(uint256)":"6d0cee75","getRefundedAmount(uint256)":"d4dbd20b","getSegments(uint256)":"b637b865","getSender(uint256)":"b971302a","getStartTime(uint256)":"bc2be1be","getStream(uint256)":"894e9a0d","getTimestamps(uint256)":"57404b12","getWithdrawnAmount(uint256)":"d511609f","isAllowedToHook(address)":"303acc85","isApprovedForAll(address,address)":"e985e9c5","isCancelable(uint256)":"4857501f","isCold(uint256)":"8f69b993","isDepleted(uint256)":"425d30dd","isStream(uint256)":"b8a3be66","isTransferable(uint256)":"b2564569","isWarm(uint256)":"1c1cdd4c","name()":"06fdde03","nextStreamId()":"1e99d569","nftDescriptor()":"44267570","ownerOf(uint256)":"6352211e","refundableAmountOf(uint256)":"1400ecec","renounce(uint256)":"7de6b1db","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setNFTDescriptor(address)":"7cad6cd1","statusOf(uint256)":"ad35efd4","streamedAmountOf(uint256)":"4869e12d","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferAdmin(address)":"75829def","transferFrom(address,address,uint256)":"23b872dd","wasCanceled(uint256)":"f590c176","withdraw(uint256,address,uint128)":"fdd46d60","withdrawMax(uint256,address)":"ea5ead19","withdrawMaxAndTransfer(uint256,address)":"c156a11d","withdrawMultiple(uint256[],uint128[])":"4cc55e11","withdrawableAmountOf(uint256)":"d975dfed"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialAdmin\",\"type\":\"address\"},{\"internalType\":\"contract ISablierV2NFTDescriptor\",\"name\":\"initialNFTDescriptor\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxSegmentCount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AddressInsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"CallerNotAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegateCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv18_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv_Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PRBMath_SD59x18_Div_InputTooSmall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"SD59x18\",\"name\":\"x\",\"type\":\"int256\"},{\"internalType\":\"SD59x18\",\"name\":\"y\",\"type\":\"int256\"}],\"name\":\"PRBMath_SD59x18_Div_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"SD59x18\",\"name\":\"x\",\"type\":\"int256\"}],\"name\":\"PRBMath_SD59x18_Exp2_InputTooBig\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"SD59x18\",\"name\":\"x\",\"type\":\"int256\"}],\"name\":\"PRBMath_SD59x18_IntoUint256_Underflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"SD59x18\",\"name\":\"x\",\"type\":\"int256\"}],\"name\":\"PRBMath_SD59x18_Log_InputTooSmall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PRBMath_SD59x18_Mul_InputTooSmall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"SD59x18\",\"name\":\"x\",\"type\":\"int256\"},{\"internalType\":\"SD59x18\",\"name\":\"y\",\"type\":\"int256\"}],\"name\":\"PRBMath_SD59x18_Mul_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"depositAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"segmentAmountsSum\",\"type\":\"uint128\"}],\"name\":\"SablierV2LockupDynamic_DepositAmountNotEqualToSegmentAmountsSum\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"SablierV2LockupDynamic_SegmentCountTooHigh\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierV2LockupDynamic_SegmentCountZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint40\",\"name\":\"previousTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"currentTimestamp\",\"type\":\"uint40\"}],\"name\":\"SablierV2LockupDynamic_SegmentTimestampsNotOrdered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startTime\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"firstSegmentTimestamp\",\"type\":\"uint40\"}],\"name\":\"SablierV2LockupDynamic_StartTimeNotLessThanFirstSegmentTimestamp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"SablierV2Lockup_AllowToHookUnsupportedInterface\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"SablierV2Lockup_AllowToHookZeroCodeSize\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"brokerFee\",\"type\":\"uint256\"},{\"internalType\":\"UD60x18\",\"name\":\"maxBrokerFee\",\"type\":\"uint256\"}],\"name\":\"SablierV2Lockup_BrokerFeeTooHigh\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierV2Lockup_DepositAmountZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"blockTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTime\",\"type\":\"uint40\"}],\"name\":\"SablierV2Lockup_EndTimeNotInTheFuture\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"SablierV2Lockup_InvalidHookSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"SablierV2Lockup_NotTransferable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"SablierV2Lockup_Null\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"withdrawableAmount\",\"type\":\"uint128\"}],\"name\":\"SablierV2Lockup_Overdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierV2Lockup_StartTimeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"SablierV2Lockup_StreamCanceled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"SablierV2Lockup_StreamDepleted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"SablierV2Lockup_StreamNotCancelable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"SablierV2Lockup_StreamNotDepleted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"SablierV2Lockup_StreamSettled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SablierV2Lockup_Unauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"SablierV2Lockup_WithdrawAmountZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamIdsCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountsCount\",\"type\":\"uint256\"}],\"name\":\"SablierV2Lockup_WithdrawArrayCountsNotEqual\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"SablierV2Lockup_WithdrawToZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"SablierV2Lockup_WithdrawalAddressNotRecipient\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"AllowToHook\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"senderAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"recipientAmount\",\"type\":\"uint128\"}],\"name\":\"CancelLockupStream\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"funder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"deposit\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"brokerFee\",\"type\":\"uint128\"}],\"indexed\":false,\"internalType\":\"struct Lockup.CreateAmounts\",\"name\":\"amounts\",\"type\":\"tuple\"},{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"cancelable\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"transferable\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"UD2x18\",\"name\":\"exponent\",\"type\":\"uint64\"},{\"internalType\":\"uint40\",\"name\":\"timestamp\",\"type\":\"uint40\"}],\"indexed\":false,\"internalType\":\"struct LockupDynamic.Segment[]\",\"name\":\"segments\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint40\",\"name\":\"start\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"end\",\"type\":\"uint40\"}],\"indexed\":false,\"internalType\":\"struct LockupDynamic.Timestamps\",\"name\":\"timestamps\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"broker\",\"type\":\"address\"}],\"name\":\"CreateLockupDynamicStream\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"RenounceLockupStream\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract ISablierV2NFTDescriptor\",\"name\":\"oldNFTDescriptor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract ISablierV2NFTDescriptor\",\"name\":\"newNFTDescriptor\",\"type\":\"address\"}],\"name\":\"SetNFTDescriptor\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAdmin\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"TransferAdmin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"WithdrawFromLockupStream\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_BROKER_FEE\",\"outputs\":[{\"internalType\":\"UD60x18\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_SEGMENT_COUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"allowToHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"cancel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"streamIds\",\"type\":\"uint256[]\"}],\"name\":\"cancelMultiple\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"totalAmount\",\"type\":\"uint128\"},{\"internalType\":\"contract IERC20\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"cancelable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transferable\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"UD2x18\",\"name\":\"exponent\",\"type\":\"uint64\"},{\"internalType\":\"uint40\",\"name\":\"duration\",\"type\":\"uint40\"}],\"internalType\":\"struct LockupDynamic.SegmentWithDuration[]\",\"name\":\"segments\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"UD60x18\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"struct Broker\",\"name\":\"broker\",\"type\":\"tuple\"}],\"internalType\":\"struct LockupDynamic.CreateWithDurations\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createWithDurations\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"totalAmount\",\"type\":\"uint128\"},{\"internalType\":\"contract IERC20\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"cancelable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transferable\",\"type\":\"bool\"},{\"internalType\":\"uint40\",\"name\":\"startTime\",\"type\":\"uint40\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"UD2x18\",\"name\":\"exponent\",\"type\":\"uint64\"},{\"internalType\":\"uint40\",\"name\":\"timestamp\",\"type\":\"uint40\"}],\"internalType\":\"struct LockupDynamic.Segment[]\",\"name\":\"segments\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"UD60x18\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"struct Broker\",\"name\":\"broker\",\"type\":\"tuple\"}],\"internalType\":\"struct LockupDynamic.CreateWithTimestamps\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createWithTimestamps\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getAsset\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"asset\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getDepositedAmount\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"depositedAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getEndTime\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"endTime\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getRefundedAmount\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"refundedAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getSegments\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"UD2x18\",\"name\":\"exponent\",\"type\":\"uint64\"},{\"internalType\":\"uint40\",\"name\":\"timestamp\",\"type\":\"uint40\"}],\"internalType\":\"struct LockupDynamic.Segment[]\",\"name\":\"segments\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getStartTime\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"startTime\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getStream\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"startTime\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"endTime\",\"type\":\"uint40\"},{\"internalType\":\"bool\",\"name\":\"isCancelable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"wasCanceled\",\"type\":\"bool\"},{\"internalType\":\"contract IERC20\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"isDepleted\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isStream\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isTransferable\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"deposited\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"withdrawn\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"refunded\",\"type\":\"uint128\"}],\"internalType\":\"struct Lockup.Amounts\",\"name\":\"amounts\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"UD2x18\",\"name\":\"exponent\",\"type\":\"uint64\"},{\"internalType\":\"uint40\",\"name\":\"timestamp\",\"type\":\"uint40\"}],\"internalType\":\"struct LockupDynamic.Segment[]\",\"name\":\"segments\",\"type\":\"tuple[]\"}],\"internalType\":\"struct LockupDynamic.StreamLD\",\"name\":\"stream\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getTimestamps\",\"outputs\":[{\"components\":[{\"internalType\":\"uint40\",\"name\":\"start\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"end\",\"type\":\"uint40\"}],\"internalType\":\"struct LockupDynamic.Timestamps\",\"name\":\"timestamps\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getWithdrawnAmount\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"withdrawnAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"isAllowedToHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"isCancelable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"isCold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"isDepleted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"isStream\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"isTransferable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"isWarm\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextStreamId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nftDescriptor\",\"outputs\":[{\"internalType\":\"contract ISablierV2NFTDescriptor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"refundableAmountOf\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"refundableAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"renounce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISablierV2NFTDescriptor\",\"name\":\"newNFTDescriptor\",\"type\":\"address\"}],\"name\":\"setNFTDescriptor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"statusOf\",\"outputs\":[{\"internalType\":\"enum Lockup.Status\",\"name\":\"status\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"streamedAmountOf\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"streamedAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"transferAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"wasCanceled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"withdrawMax\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"withdrawnAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"newRecipient\",\"type\":\"address\"}],\"name\":\"withdrawMaxAndTransfer\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"withdrawnAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"streamIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint128[]\",\"name\":\"amounts\",\"type\":\"uint128[]\"}],\"name\":\"withdrawMultiple\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"withdrawableAmountOf\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"withdrawableAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"AddressInsufficientBalance(address)\":[{\"details\":\"The ETH balance of the account is not enough to perform the operation.\"}],\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC20 token failed.\"}]},\"events\":{\"AllowToHook(address,address)\":{\"params\":{\"admin\":\"The address of the current contract admin.\",\"recipient\":\"The address of the recipient contract put on the allowlist.\"}},\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"CancelLockupStream(uint256,address,address,address,uint128,uint128)\":{\"params\":{\"asset\":\"The contract address of the ERC-20 asset to be distributed.\",\"recipient\":\"The address of the stream's recipient.\",\"recipientAmount\":\"The amount of assets left for the stream's recipient to withdraw, denoted in units of the asset's decimals.\",\"sender\":\"The address of the stream's sender.\",\"senderAmount\":\"The amount of assets refunded to the stream's sender, denoted in units of the asset's decimals.\",\"streamId\":\"The ID of the stream.\"}},\"CreateLockupDynamicStream(uint256,address,address,address,(uint128,uint128),address,bool,bool,(uint128,uint64,uint40)[],(uint40,uint40),address)\":{\"params\":{\"amounts\":\"Struct containing (i) the deposit amount, and (ii) the broker fee amount, both denoted in units of the asset's decimals.\",\"asset\":\"The contract address of the ERC-20 asset to be distributed.\",\"broker\":\"The address of the broker who has helped create the stream, e.g. a front-end website.\",\"cancelable\":\"Boolean indicating whether the stream will be cancelable or not.\",\"funder\":\"The address which has funded the stream.\",\"recipient\":\"The address toward which to stream the assets.\",\"segments\":\"The segments the protocol uses to compose the dynamic distribution function.\",\"sender\":\"The address distributing the assets, which will have the ability to cancel the stream.\",\"streamId\":\"The ID of the newly created stream.\",\"timestamps\":\"Struct containing (i) the stream's start time and (ii) end time, both as Unix timestamps.\",\"transferable\":\"Boolean indicating whether the stream NFT is transferable or not.\"}},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"RenounceLockupStream(uint256)\":{\"params\":{\"streamId\":\"The ID of the stream.\"}},\"SetNFTDescriptor(address,address,address)\":{\"params\":{\"admin\":\"The address of the current contract admin.\",\"newNFTDescriptor\":\"The address of the new NFT descriptor contract.\",\"oldNFTDescriptor\":\"The address of the old NFT descriptor contract.\"}},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"},\"TransferAdmin(address,address)\":{\"params\":{\"newAdmin\":\"The address of the new admin.\",\"oldAdmin\":\"The address of the old admin.\"}},\"WithdrawFromLockupStream(uint256,address,address,uint128)\":{\"params\":{\"amount\":\"The amount of assets withdrawn, denoted in units of the asset's decimals.\",\"asset\":\"The contract address of the ERC-20 asset to be distributed.\",\"streamId\":\"The ID of the stream.\",\"to\":\"The address that has received the withdrawn assets.\"}}},\"kind\":\"dev\",\"methods\":{\"allowToHook(address)\":{\"details\":\"Emits an {AllowToHook} event. Notes: - Does not revert if the contract is already on the allowlist. - This is an irreversible operation. The contract cannot be removed from the allowlist. Requirements: - `msg.sender` must be the contract admin. - `recipient` must have a non-zero code size. - `recipient` must implement {ISablierLockupRecipient}.\",\"params\":{\"recipient\":\"The address of the contract to allow for hooks.\"}},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Emits a {Transfer} event. Requirements: - Must not be delegate called. - `streamId` must reference a depleted stream. - The NFT must exist. - `msg.sender` must be either the NFT owner or an approved third party.\",\"params\":{\"streamId\":\"The ID of the stream NFT to burn.\"}},\"cancel(uint256)\":{\"details\":\"Emits a {Transfer}, {CancelLockupStream}, and {MetadataUpdate} event. Notes: - If there any assets left for the recipient to withdraw, the stream is marked as canceled. Otherwise, the stream is marked as depleted. - This function attempts to invoke a hook on the recipient, if the resolved address is a contract. Requirements: - Must not be delegate called. - The stream must be warm and cancelable. - `msg.sender` must be the stream's sender.\",\"params\":{\"streamId\":\"The ID of the stream to cancel.\"}},\"cancelMultiple(uint256[])\":{\"details\":\"Emits multiple {Transfer}, {CancelLockupStream}, and {MetadataUpdate} events. Notes: - Refer to the notes in {cancel}. Requirements: - All requirements from {cancel} must be met for each stream.\",\"params\":{\"streamIds\":\"The IDs of the streams to cancel.\"}},\"constructor\":{\"details\":\"Emits a {TransferAdmin} event.\",\"params\":{\"initialAdmin\":\"The address of the initial contract admin.\",\"initialNFTDescriptor\":\"The address of the NFT descriptor contract.\",\"maxSegmentCount\":\"The maximum number of segments allowed in a stream.\"}},\"createWithDurations((address,address,uint128,address,bool,bool,(uint128,uint64,uint40)[],(address,uint256)))\":{\"details\":\"Emits a {Transfer} and {CreateLockupDynamicStream} event. Requirements: - All requirements in {createWithTimestamps} must be met for the calculated parameters.\",\"params\":{\"params\":\"Struct encapsulating the function parameters, which are documented in {DataTypes}.\"},\"returns\":{\"streamId\":\"The ID of the newly created stream.\"}},\"createWithTimestamps((address,address,uint128,address,bool,bool,uint40,(uint128,uint64,uint40)[],(address,uint256)))\":{\"details\":\"Emits a {Transfer} and {CreateLockupDynamicStream} event. Notes: - As long as the segment timestamps are arranged in ascending order, it is not an error for some of them to be in the past. Requirements: - Must not be delegate called. - `params.totalAmount` must be greater than zero. - If set, `params.broker.fee` must not be greater than `MAX_BROKER_FEE`. - `params.startTime` must be greater than zero and less than the first segment's timestamp. - `params.segments` must have at least one segment, but not more than `MAX_SEGMENT_COUNT`. - The segment timestamps must be arranged in ascending order. - The last segment timestamp (i.e. the stream's end time) must be in the future. - The sum of the segment amounts must equal the deposit amount. - `params.recipient` must not be the zero address. - `msg.sender` must have allowed this contract to spend at least `params.totalAmount` assets.\",\"params\":{\"params\":\"Struct encapsulating the function parameters, which are documented in {DataTypes}.\"},\"returns\":{\"streamId\":\"The ID of the newly created stream.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getAsset(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"getDepositedAmount(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"getEndTime(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"getRecipient(uint256)\":{\"details\":\"Reverts if the NFT has been burned.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"getRefundedAmount(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"getSegments(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"getSender(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"getStartTime(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"getStream(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"},\"returns\":{\"stream\":\"See the documentation in {DataTypes}.\"}},\"getTimestamps(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"},\"returns\":{\"timestamps\":\"See the documentation in {DataTypes}.\"}},\"getWithdrawnAmount(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"isAllowedToHook(address)\":{\"details\":\"See {ISablierLockupRecipient} for more information.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isCancelable(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"isCold(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"isDepleted(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"isStream(uint256)\":{\"details\":\"Does not revert if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"isTransferable(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"isWarm(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"refundableAmountOf(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"renounce(uint256)\":{\"details\":\"Emits a {RenounceLockupStream} and {MetadataUpdate} event. Notes: - This is an irreversible operation. Requirements: - Must not be delegate called. - `streamId` must reference a warm stream. - `msg.sender` must be the stream's sender. - The stream must be cancelable.\",\"params\":{\"streamId\":\"The ID of the stream to renounce.\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setNFTDescriptor(address)\":{\"details\":\"Emits a {SetNFTDescriptor} and {BatchMetadataUpdate} event. Notes: - Does not revert if the NFT descriptor is the same. Requirements: - `msg.sender` must be the contract admin.\",\"params\":{\"newNFTDescriptor\":\"The address of the new NFT descriptor contract.\"}},\"statusOf(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"streamedAmountOf(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream. Notes: - Upon cancellation of the stream, the amount streamed is calculated as the difference between the deposited amount and the refunded amount. Ultimately, when the stream becomes depleted, the streamed amount is equivalent to the total amount withdrawn.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferAdmin(address)\":{\"details\":\"Notes: - Does not revert if the admin is the same. - This function can potentially leave the contract without an admin, thereby removing any functionality that is only available to the admin. Requirements: - `msg.sender` must be the contract admin.\",\"params\":{\"newAdmin\":\"The address of the new admin.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"wasCanceled(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}},\"withdraw(uint256,address,uint128)\":{\"details\":\"Emits a {Transfer}, {WithdrawFromLockupStream}, and {MetadataUpdate} event. Notes: - This function attempts to call a hook on the recipient of the stream, unless `msg.sender` is the recipient. Requirements: - Must not be delegate called. - `streamId` must not reference a null or depleted stream. - `to` must not be the zero address. - `amount` must be greater than zero and must not exceed the withdrawable amount. - `to` must be the recipient if `msg.sender` is not the stream's recipient or an approved third party.\",\"params\":{\"amount\":\"The amount to withdraw, denoted in units of the asset's decimals.\",\"streamId\":\"The ID of the stream to withdraw from.\",\"to\":\"The address receiving the withdrawn assets.\"}},\"withdrawMax(uint256,address)\":{\"details\":\"Emits a {Transfer}, {WithdrawFromLockupStream}, and {MetadataUpdate} event. Notes: - Refer to the notes in {withdraw}. Requirements: - Refer to the requirements in {withdraw}.\",\"params\":{\"streamId\":\"The ID of the stream to withdraw from.\",\"to\":\"The address receiving the withdrawn assets.\"},\"returns\":{\"withdrawnAmount\":\"The amount withdrawn, denoted in units of the asset's decimals.\"}},\"withdrawMaxAndTransfer(uint256,address)\":{\"details\":\"Emits a {WithdrawFromLockupStream} and a {Transfer} event. Notes: - If the withdrawable amount is zero, the withdrawal is skipped. - Refer to the notes in {withdraw}. Requirements: - `msg.sender` must be the stream's recipient. - Refer to the requirements in {withdraw}. - Refer to the requirements in {IERC721.transferFrom}.\",\"params\":{\"newRecipient\":\"The address of the new owner of the stream NFT.\",\"streamId\":\"The ID of the stream NFT to transfer.\"},\"returns\":{\"withdrawnAmount\":\"The amount withdrawn, denoted in units of the asset's decimals.\"}},\"withdrawMultiple(uint256[],uint128[])\":{\"details\":\"Emits multiple {Transfer}, {WithdrawFromLockupStream}, and {MetadataUpdate} events. Notes: - This function attempts to call a hook on the recipient of each stream, unless `msg.sender` is the recipient. Requirements: - Must not be delegate called. - There must be an equal number of `streamIds` and `amounts`. - Each stream ID in the array must not reference a null or depleted stream. - Each amount in the array must be greater than zero and must not exceed the withdrawable amount.\",\"params\":{\"amounts\":\"The amounts to withdraw, denoted in units of the asset's decimals.\",\"streamIds\":\"The IDs of the streams to withdraw from.\"}},\"withdrawableAmountOf(uint256)\":{\"details\":\"Reverts if `streamId` references a null stream.\",\"params\":{\"streamId\":\"The stream ID for the query.\"}}},\"stateVariables\":{\"MAX_SEGMENT_COUNT\":{\"details\":\"This is initialized at construction time and cannot be changed later.\"},\"_segments\":{\"details\":\"Stream segments mapped by stream IDs. This complements the `_streams` mapping in {SablierV2Lockup}.\"}},\"title\":\"SablierV2LockupDynamic\",\"version\":1},\"userdoc\":{\"errors\":{\"CallerNotAdmin(address,address)\":[{\"notice\":\"Thrown when `msg.sender` is not the admin.\"}],\"DelegateCall()\":[{\"notice\":\"Thrown when trying to delegate call to a function that disallows delegate calls.\"}],\"PRBMath_MulDiv18_Overflow(uint256,uint256)\":[{\"notice\":\"Thrown when the resultant value in {mulDiv18} overflows uint256.\"}],\"PRBMath_MulDiv_Overflow(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when the resultant value in {mulDiv} overflows uint256.\"}],\"PRBMath_SD59x18_Div_InputTooSmall()\":[{\"notice\":\"Thrown when dividing two numbers and one of them is `MIN_SD59x18`.\"}],\"PRBMath_SD59x18_Div_Overflow(int256,int256)\":[{\"notice\":\"Thrown when dividing two numbers and one of the intermediary unsigned results overflows SD59x18.\"}],\"PRBMath_SD59x18_Exp2_InputTooBig(int256)\":[{\"notice\":\"Thrown when taking the binary exponent of a base greater than 192e18.\"}],\"PRBMath_SD59x18_IntoUint256_Underflow(int256)\":[{\"notice\":\"Thrown when trying to cast a UD60x18 number that doesn't fit in uint256.\"}],\"PRBMath_SD59x18_Log_InputTooSmall(int256)\":[{\"notice\":\"Thrown when taking the logarithm of a number less than or equal to zero.\"}],\"PRBMath_SD59x18_Mul_InputTooSmall()\":[{\"notice\":\"Thrown when multiplying two numbers and one of the inputs is `MIN_SD59x18`.\"}],\"PRBMath_SD59x18_Mul_Overflow(int256,int256)\":[{\"notice\":\"Thrown when multiplying two numbers and the intermediary absolute result overflows SD59x18.\"}],\"SablierV2LockupDynamic_DepositAmountNotEqualToSegmentAmountsSum(uint128,uint128)\":[{\"notice\":\"Thrown when trying to create a stream with a deposit amount not equal to the sum of the segment amounts.\"}],\"SablierV2LockupDynamic_SegmentCountTooHigh(uint256)\":[{\"notice\":\"Thrown when trying to create a stream with more segments than the maximum allowed.\"}],\"SablierV2LockupDynamic_SegmentCountZero()\":[{\"notice\":\"Thrown when trying to create a stream with no segments.\"}],\"SablierV2LockupDynamic_SegmentTimestampsNotOrdered(uint256,uint40,uint40)\":[{\"notice\":\"Thrown when trying to create a stream with unordered segment timestamps.\"}],\"SablierV2LockupDynamic_StartTimeNotLessThanFirstSegmentTimestamp(uint40,uint40)\":[{\"notice\":\"Thrown when trying to create a stream with a start time not strictly less than the first segment timestamp.\"}],\"SablierV2Lockup_AllowToHookUnsupportedInterface(address)\":[{\"notice\":\"Thrown when trying to allow to hook a contract that doesn't implement the interface correctly.\"}],\"SablierV2Lockup_AllowToHookZeroCodeSize(address)\":[{\"notice\":\"Thrown when trying to allow to hook an address with no code.\"}],\"SablierV2Lockup_BrokerFeeTooHigh(uint256,uint256)\":[{\"notice\":\"Thrown when the broker fee exceeds the maximum allowed fee.\"}],\"SablierV2Lockup_DepositAmountZero()\":[{\"notice\":\"Thrown when trying to create a stream with a zero deposit amount.\"}],\"SablierV2Lockup_EndTimeNotInTheFuture(uint40,uint40)\":[{\"notice\":\"Thrown when trying to create a stream with an end time not in the future.\"}],\"SablierV2Lockup_InvalidHookSelector(address)\":[{\"notice\":\"Thrown when the hook does not return the correct selector.\"}],\"SablierV2Lockup_NotTransferable(uint256)\":[{\"notice\":\"Thrown when trying to transfer Stream NFT when transferability is disabled.\"}],\"SablierV2Lockup_Null(uint256)\":[{\"notice\":\"Thrown when the ID references a null stream.\"}],\"SablierV2Lockup_Overdraw(uint256,uint128,uint128)\":[{\"notice\":\"Thrown when trying to withdraw an amount greater than the withdrawable amount.\"}],\"SablierV2Lockup_StartTimeZero()\":[{\"notice\":\"Thrown when trying to create a stream with a zero start time.\"}],\"SablierV2Lockup_StreamCanceled(uint256)\":[{\"notice\":\"Thrown when trying to cancel or renounce a canceled stream.\"}],\"SablierV2Lockup_StreamDepleted(uint256)\":[{\"notice\":\"Thrown when trying to cancel, renounce, or withdraw from a depleted stream.\"}],\"SablierV2Lockup_StreamNotCancelable(uint256)\":[{\"notice\":\"Thrown when trying to cancel or renounce a stream that is not cancelable.\"}],\"SablierV2Lockup_StreamNotDepleted(uint256)\":[{\"notice\":\"Thrown when trying to burn a stream that is not depleted.\"}],\"SablierV2Lockup_StreamSettled(uint256)\":[{\"notice\":\"Thrown when trying to cancel or renounce a settled stream.\"}],\"SablierV2Lockup_Unauthorized(uint256,address)\":[{\"notice\":\"Thrown when `msg.sender` lacks authorization to perform an action.\"}],\"SablierV2Lockup_WithdrawAmountZero(uint256)\":[{\"notice\":\"Thrown when trying to withdraw zero assets from a stream.\"}],\"SablierV2Lockup_WithdrawArrayCountsNotEqual(uint256,uint256)\":[{\"notice\":\"Thrown when trying to withdraw from multiple streams and the number of stream IDs does not match the number of withdraw amounts.\"}],\"SablierV2Lockup_WithdrawToZeroAddress(uint256)\":[{\"notice\":\"Thrown when trying to withdraw to the zero address.\"}],\"SablierV2Lockup_WithdrawalAddressNotRecipient(uint256,address,address)\":[{\"notice\":\"Thrown when trying to withdraw to an address other than the recipient's.\"}]},\"events\":{\"AllowToHook(address,address)\":{\"notice\":\"Emitted when the admin allows a new recipient contract to hook to Sablier.\"},\"CancelLockupStream(uint256,address,address,address,uint128,uint128)\":{\"notice\":\"Emitted when a stream is canceled.\"},\"CreateLockupDynamicStream(uint256,address,address,address,(uint128,uint128),address,bool,bool,(uint128,uint64,uint40)[],(uint40,uint40),address)\":{\"notice\":\"Emitted when a stream is created.\"},\"RenounceLockupStream(uint256)\":{\"notice\":\"Emitted when a sender gives up the right to cancel a stream.\"},\"SetNFTDescriptor(address,address,address)\":{\"notice\":\"Emitted when the admin sets a new NFT descriptor contract.\"},\"TransferAdmin(address,address)\":{\"notice\":\"Emitted when the admin is transferred.\"},\"WithdrawFromLockupStream(uint256,address,address,uint128)\":{\"notice\":\"Emitted when assets are withdrawn from a stream.\"}},\"kind\":\"user\",\"methods\":{\"MAX_BROKER_FEE()\":{\"notice\":\"Retrieves the maximum broker fee that can be charged by the broker, denoted as a fixed-point number where 1e18 is 100%.\"},\"MAX_SEGMENT_COUNT()\":{\"notice\":\"The maximum number of segments allowed in a stream.\"},\"admin()\":{\"notice\":\"The address of the admin account or contract.\"},\"allowToHook(address)\":{\"notice\":\"Allows a recipient contract to hook to Sablier when a stream is canceled or when assets are withdrawn. Useful for implementing contracts that hold streams on behalf of users, such as vaults or staking contracts.\"},\"burn(uint256)\":{\"notice\":\"Burns the NFT associated with the stream.\"},\"cancel(uint256)\":{\"notice\":\"Cancels the stream and refunds any remaining assets to the sender.\"},\"cancelMultiple(uint256[])\":{\"notice\":\"Cancels multiple streams and refunds any remaining assets to the sender.\"},\"createWithDurations((address,address,uint128,address,bool,bool,(uint128,uint64,uint40)[],(address,uint256)))\":{\"notice\":\"Creates a stream by setting the start time to `block.timestamp`, and the end time to the sum of `block.timestamp` and all specified time durations. The segment timestamps are derived from these durations. The stream is funded by `msg.sender` and is wrapped in an ERC-721 NFT.\"},\"createWithTimestamps((address,address,uint128,address,bool,bool,uint40,(uint128,uint64,uint40)[],(address,uint256)))\":{\"notice\":\"Creates a stream with the provided segment timestamps, implying the end time from the last timestamp. The stream is funded by `msg.sender` and is wrapped in an ERC-721 NFT.\"},\"getAsset(uint256)\":{\"notice\":\"Retrieves the address of the ERC-20 asset to be distributed.\"},\"getDepositedAmount(uint256)\":{\"notice\":\"Retrieves the amount deposited in the stream, denoted in units of the asset's decimals.\"},\"getEndTime(uint256)\":{\"notice\":\"Retrieves the stream's end time, which is a Unix timestamp.\"},\"getRecipient(uint256)\":{\"notice\":\"Retrieves the stream's recipient.\"},\"getRefundedAmount(uint256)\":{\"notice\":\"Retrieves the amount refunded to the sender after a cancellation, denoted in units of the asset's decimals. This amount is always zero unless the stream was canceled.\"},\"getSegments(uint256)\":{\"notice\":\"Retrieves the segments used to compose the dynamic distribution function.\"},\"getSender(uint256)\":{\"notice\":\"Retrieves the stream's sender.\"},\"getStartTime(uint256)\":{\"notice\":\"Retrieves the stream's start time, which is a Unix timestamp.\"},\"getStream(uint256)\":{\"notice\":\"Retrieves the full stream details.\"},\"getTimestamps(uint256)\":{\"notice\":\"Retrieves the stream's start and end timestamps.\"},\"getWithdrawnAmount(uint256)\":{\"notice\":\"Retrieves the amount withdrawn from the stream, denoted in units of the asset's decimals.\"},\"isAllowedToHook(address)\":{\"notice\":\"Retrieves a flag indicating whether the provided address is a contract allowed to hook to Sablier when a stream is canceled or when assets are withdrawn.\"},\"isCancelable(uint256)\":{\"notice\":\"Retrieves a flag indicating whether the stream can be canceled. When the stream is cold, this flag is always `false`.\"},\"isCold(uint256)\":{\"notice\":\"Retrieves a flag indicating whether the stream is cold, i.e. settled, canceled, or depleted.\"},\"isDepleted(uint256)\":{\"notice\":\"Retrieves a flag indicating whether the stream is depleted.\"},\"isStream(uint256)\":{\"notice\":\"Retrieves a flag indicating whether the stream exists.\"},\"isTransferable(uint256)\":{\"notice\":\"Retrieves a flag indicating whether the stream NFT can be transferred.\"},\"isWarm(uint256)\":{\"notice\":\"Retrieves a flag indicating whether the stream is warm, i.e. either pending or streaming.\"},\"nextStreamId()\":{\"notice\":\"Counter for stream IDs, used in the create functions.\"},\"nftDescriptor()\":{\"notice\":\"Contract that generates the non-fungible token URI.\"},\"refundableAmountOf(uint256)\":{\"notice\":\"Calculates the amount that the sender would be refunded if the stream were canceled, denoted in units of the asset's decimals.\"},\"renounce(uint256)\":{\"notice\":\"Removes the right of the stream's sender to cancel the stream.\"},\"setNFTDescriptor(address)\":{\"notice\":\"Sets a new NFT descriptor contract, which produces the URI describing the Sablier stream NFTs.\"},\"statusOf(uint256)\":{\"notice\":\"Retrieves the stream's status.\"},\"streamedAmountOf(uint256)\":{\"notice\":\"Calculates the amount streamed to the recipient, denoted in units of the asset's decimals.\"},\"transferAdmin(address)\":{\"notice\":\"Transfers the contract admin to a new address.\"},\"wasCanceled(uint256)\":{\"notice\":\"Retrieves a flag indicating whether the stream was canceled.\"},\"withdraw(uint256,address,uint128)\":{\"notice\":\"Withdraws the provided amount of assets from the stream to the `to` address.\"},\"withdrawMax(uint256,address)\":{\"notice\":\"Withdraws the maximum withdrawable amount from the stream to the provided address `to`.\"},\"withdrawMaxAndTransfer(uint256,address)\":{\"notice\":\"Withdraws the maximum withdrawable amount from the stream to the current recipient, and transfers the NFT to `newRecipient`.\"},\"withdrawMultiple(uint256[],uint128[])\":{\"notice\":\"Withdraws assets from streams to the recipient of each stream.\"},\"withdrawableAmountOf(uint256)\":{\"notice\":\"Calculates the amount that the recipient can withdraw from the stream, denoted in units of the asset's decimals.\"}},\"notice\":\"See the documentation in {ISablierV2LockupDynamic}.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/SablierV2LockupDynamic.sol\":\"SablierV2LockupDynamic\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/\",\":@prb/math/=node_modules/@prb/math/\",\":forge-std/=node_modules/forge-std/\",\":solady/=node_modules/solady/\",\":solarray/=node_modules/solarray/\"],\"viaIR\":true},\"sources\":{\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0xb31b86c03f4677dcffa4655285d62433509513be9bafa0e04984565052d34e44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a89c6fb0cd5fef4244500b633f63def9f2bb2134debb961e590bd5a2910662fd\",\"dweb:/ipfs/QmNqWyCxyopvb99RbRomPpfTZGXRi5MnzgpFXE2BFLLgMc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b\",\"dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d\",\"dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x37bb49513c49c87c4642a891b13b63571bc87013dde806617aa1efb54605f386\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3036b3a83b7c48f96641f2a9002b9f2dcb6a5958dd670894ada21ae8229b3d0\",\"dweb:/ipfs/QmUNfSBdoVtjhETaUJCYcaC7pTMgbhht926tJ2uXJbiVd3\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x13dd061770956c8489b80cfc89d9cdfc8ea2783d953691ea037a380731d52784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed37f0f86e7fe31659e48c3a2a5920a92dd7f13c85cf8991fb79fe5f01e08efd\",\"dweb:/ipfs/QmUtm9bQGvjr9hHGwkPWrbgFmVqzaJcxjkaYDex2oGsonS\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22\",\"dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0xaa374e2c26cc93e8c22a6953804ee05f811597ef5fa82f76824378b22944778b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://279c732e161d623cf4d8a9519ca4c42c0c2db99842d0eb2a20c10fde3fa722c9\",\"dweb:/ipfs/QmVViuUXbinQGqtG5M21SgVzKihiCbFUChd4tDhtvwRmxH\"]},\"node_modules/@prb/math/src/SD59x18.sol\":{\"keccak256\":\"0xff25fe75f8e77d4c839fbe69198d273039575fa72f31ce9725bcacb80db65461\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ed7bc89a4efa33fc9392de8104c8af609fd3372b323d7824a6a3ae888bad3be\",\"dweb:/ipfs/QmfCbW4geVSm7uJW4KUoXrejR2SywcRJrXwMBzUBWYiXJa\"]},\"node_modules/@prb/math/src/UD2x18.sol\":{\"keccak256\":\"0xfb624e24cd8bb790fa08e7827819de85504a86e20e961fa4ad126c65b6d90641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd795b8df250e7eedc68e2dba1afbb60357ce8f22f21bed212b5a9046d2057d2\",\"dweb:/ipfs/QmUHtrSr8Gb6bvSe2rCWPA5YrJq72UiJARYr1gZqFVRsYH\"]},\"node_modules/@prb/math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"node_modules/@prb/math/src/casting/Uint128.sol\":{\"keccak256\":\"0x9c024bd914e8250450e27efcd2acd5043f968d730e4adfe6a7c7996e2e0c4a64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://693d41be28bd50bdee3530989155428b5d34bdbd47a0ae760f611425bdd95907\",\"dweb:/ipfs/QmX4mMqUpauMzXTWEkVgm2pCcq4iLbFvunCQBFVW3J3xpo\"]},\"node_modules/@prb/math/src/casting/Uint40.sol\":{\"keccak256\":\"0x81976e7cd604bab95a35a6ce1d20fba7f8b57616a27f8f8e13b08334a4487f7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a8e06a78402c9e6b667bb6b0eccf63d6466c4d124a0f20ded2e484a1eb9053e\",\"dweb:/ipfs/QmcEC7ZnALzNFnQQggY9Hr7vJtvfuoVoGRkMHtBqSs74vS\"]},\"node_modules/@prb/math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a\",\"dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz\"]},\"node_modules/@prb/math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0x6496165b80552785a4b65a239b96e2a5fedf62fe54f002eeed72d75e566d7585\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a1623b9a1e03f548787d9f876a26647090f40db765a32a99167cb89da145339\",\"dweb:/ipfs/QmezifZR7md7GzQisgdUmYKWJx1zuiqosVRsmJyNkvJxK9\"]},\"node_modules/@prb/math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499\",\"dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp\"]},\"node_modules/@prb/math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd\",\"dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC\"]},\"node_modules/@prb/math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809\",\"dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp\"]},\"node_modules/@prb/math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0x9bcb8dd6b3e886d140ad1c32747a4f6d29a492529ceb835be878ae837aa6cc3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4045c633e3618e7e90a768d92415b2f20f781fe129b4f4e26fa88f7dbf9201f\",\"dweb:/ipfs/Qmbet95pizwPno82cJ383wJtgQRSQKESmhVZ1vDrgAu7Si\"]},\"node_modules/@prb/math/src/sd59x18/Conversions.sol\":{\"keccak256\":\"0x9876a288dcbb2583c5361a3e60b5b30c7d4c89c8d2aa35364f2f521656d8db80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c76a858b3462070671babff2d079f9368bc022017f34921092c93ee5751b99a5\",\"dweb:/ipfs/QmYQqUodEny8uqQeqXwYU5GDsHPMEUz5HvGF2ChjbmDWbL\"]},\"node_modules/@prb/math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0xa6d00fe5efa215ac0df25c896e3da99a12fb61e799644b2ec32da947313d3db4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbfcf2d9681a2af1e076439791e2853b466066d867bfcbbf6b46b4a4476f712f\",\"dweb:/ipfs/QmWGznYLYdvsjMSyauT2DoipgGLVGW9KASXEknTgR5eRMv\"]},\"node_modules/@prb/math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"node_modules/@prb/math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xa074831139fc89ca0e5a36086b30eb50896bb6770cd5823461b1f2769017d2f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd0ce38e8e85ed1a5179c1016af6131eb29674f195c66971d5e6da2764222d0d\",\"dweb:/ipfs/QmbHLp9E8dNuz8Fi2rRcYjLVGfVdacLyjrktQzxf62FLXp\"]},\"node_modules/@prb/math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6\",\"dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT\"]},\"node_modules/@prb/math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x9b1a35d432ef951a415fae8098b3c609a99b630a3d5464b3c8e1efa8893eea07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://977ab8a458a6aeaf7cfd125c06e1e4c50fa1147f0b72638d1ae1fb4f6ad37ddd\",\"dweb:/ipfs/QmeVVDpmYm1Tc8kpscF1Z2rtYvkpb1NeGBwRoYgLBuwXeA\"]},\"node_modules/@prb/math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0x29b0e050c865899e1fb9022b460a7829cdee248c44c4299f068ba80695eec3fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbaef16b662fac235349bcf97bc980dd0cba15d4e6230caae61224cdac8ea6d9\",\"dweb:/ipfs/QmZQa5XBhi7k3yhtCd8wVpnwW8htfU4sjXxWhxRypMBYkC\"]},\"node_modules/@prb/math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec\",\"dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59\"]},\"node_modules/@prb/math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95\",\"dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m\"]},\"node_modules/@prb/math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe\",\"dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9\"]},\"node_modules/@prb/math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"node_modules/@prb/math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75\",\"dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe\"]},\"node_modules/@prb/math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf\",\"dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB\"]},\"node_modules/@prb/math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"node_modules/@prb/math/src/ud60x18/Math.sol\":{\"keccak256\":\"0x462144667aac3f96d5f8dba7aa68fe4c5a3f61e1d7bbbc81bee21168817f9c09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9bb7f11754e2202ed03351e52ef72f7ec85120b4a3ddec2f312b7bf5b08d4d7\",\"dweb:/ipfs/Qmd1tg9PEfdHD1GNmTiB8wUM7VrS4jfQFto3KKn1vfYGjw\"]},\"node_modules/@prb/math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29\",\"dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ\"]},\"src/SablierV2LockupDynamic.sol\":{\"keccak256\":\"0x6fd38743cdc5d16144e6f6db7a97aca515700a6227b78b99485a0a993278216e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://45e2d8bcf27437a5bf13a695f923e8e1446116213c427f89822676acebb6693f\",\"dweb:/ipfs/QmTZJfuNkfoizKAhr5mH9KJszejoor8oduYHBBnjRmnrRz\"]},\"src/abstracts/Adminable.sol\":{\"keccak256\":\"0xdbcb26718ab7e57e1df94fd9ecd7de1345b839e6fb4925dc1a1182da770651b6\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://02d559eaa018921cb60d10eb015d1d12e5a3ebe35c68afbbb8fb58370238dd37\",\"dweb:/ipfs/QmTKaj3GqGssMXiNjno8NvzkKrCLHwx3dsDdsoFajCDf5c\"]},\"src/abstracts/NoDelegateCall.sol\":{\"keccak256\":\"0x6c9e22ca1303c5953ee5574c1605515bab67dc71e9325605087557c7faf71059\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://8f3de9954d1dfb54e6be6a082c2732b3bd5f4b88549e2d1b29ed5527fef13fc0\",\"dweb:/ipfs/QmfRzCfJRr2StpLTG93Qp6rvfMWfbRRoo7DKoy6yPDizwP\"]},\"src/abstracts/SablierV2Lockup.sol\":{\"keccak256\":\"0x64df7b1170881782596cbf6e5123c342a2aaab9e3c5bc502032249085d30fd51\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4ef1e6a772eb5ebd08d126ee996c16761139a53ecee9be0091a4cef4112cc5ba\",\"dweb:/ipfs/QmdomtC5swgkrWZWYnNosvNMtjRWdMQ2bkikfdqDDYjZMC\"]},\"src/interfaces/IAdminable.sol\":{\"keccak256\":\"0xa279c49e51228b571329164e36250e82b2c1378e8b549194ab7dd90fca9c3b2b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://b0af605b82e64679db7039fb378fc206c4a000f8cd24b3ff17b019e27b81be8f\",\"dweb:/ipfs/QmUSr73cbnG7K79mVE9Nwcou5nJZEK2ZGekt3KpkfpxL4Z\"]},\"src/interfaces/ISablierLockupRecipient.sol\":{\"keccak256\":\"0x42612dfce3658e4c1ddf7e6016e6c90b36f09a0f1d8974975e9573b8bdc12a72\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c4439d907b73c01d82dde3b2c24459b0563597a74ecdf8f39b1ded96281b598a\",\"dweb:/ipfs/Qme9ZqoAGrAsoJcwEjkHKSLmPZEt85XRzveKhDzBeEYcZC\"]},\"src/interfaces/ISablierV2Lockup.sol\":{\"keccak256\":\"0x9d7c695e1454bc14b3dd323bd8598fd762f616936553852ed55bfa02a7107e93\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e2401e189b3769aad662a3f7a965f43c71e606556ad548027649c1f809f4ebf1\",\"dweb:/ipfs/QmeLrGETtVockNTi4SW1jtMRg3xkhbwbVZGuTNRxCfyafp\"]},\"src/interfaces/ISablierV2LockupDynamic.sol\":{\"keccak256\":\"0x79d26df186f5f4c4565123209ebcc2883f7c67c5fa9dd3403d9e2bf1928c5b44\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c5389672d5459da1aee9a152086ed70eb9dd59092075178b123b256cb89deb17\",\"dweb:/ipfs/Qma7YoVmw6piuoLxqbX2xtPo9eRMApKeRZiQm3ifZQv68m\"]},\"src/interfaces/ISablierV2NFTDescriptor.sol\":{\"keccak256\":\"0x9f70b5549dd3f057ab460c142431fd0815e5a8501b0d3546644a7ded87dc4714\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://15863af93766d1f1c426e0e880b21dfc6ebc3c6ce09a243704b3b95536fe4742\",\"dweb:/ipfs/QmSCNWYQ3MeX9JPqzKF8BtnghaoHasEwXW6sRGiGkDULka\"]},\"src/libraries/Errors.sol\":{\"keccak256\":\"0x9920a5ecf9389c32d771063ae14bc8df1a89c871c2943617d39538c3d9f1853b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://59440fa6c9ad36592126c5eb5f9abd26679477453c6223fa72e5320c31e56564\",\"dweb:/ipfs/QmUpMytnZ6CkMHBtsCcHFq78A9mbtgVZy8eeudffF23Mtv\"]},\"src/libraries/Helpers.sol\":{\"keccak256\":\"0x8c9a6d588207e7aad1c0c4773a62ace1b3b699b6528ab100b39e63a300ba9c4a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://8e5ea24618c9de72961b48ce973c2bfff87eccbe3fcc5d8f2928eb3b129cf474\",\"dweb:/ipfs/Qmbou5G7NzFnQyaqc8pKmTBg6iNw1n3mQvTyaV2ACbLWxc\"]},\"src/types/DataTypes.sol\":{\"keccak256\":\"0xcb3c3ec3060ab0dbbaa942f08a2fb752bc9b47780ca51f7ed1fdf929f0f13b35\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://feb7f1c8add92280a8dc9c1695a9d5a233a2d7f4d7fefff64e0b5a800311268e\",\"dweb:/ipfs/QmXnYrPTTgrVZx9iBCkkJ73kUwHScBj66MJa1MwKHHdq2a\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"initialAdmin","type":"address"},{"internalType":"contract ISablierV2NFTDescriptor","name":"initialNFTDescriptor","type":"address"},{"internalType":"uint256","name":"maxSegmentCount","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"AddressInsufficientBalance"},{"inputs":[{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"CallerNotAdmin"},{"inputs":[],"type":"error","name":"DelegateCall"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC721IncorrectOwner"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC721InsufficientApproval"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC721InvalidApprover"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"type":"error","name":"ERC721InvalidOperator"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC721InvalidOwner"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC721InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC721InvalidSender"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC721NonexistentToken"},{"inputs":[],"type":"error","name":"FailedInnerCall"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"}],"type":"error","name":"PRBMath_MulDiv18_Overflow"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"type":"error","name":"PRBMath_MulDiv_Overflow"},{"inputs":[],"type":"error","name":"PRBMath_SD59x18_Div_InputTooSmall"},{"inputs":[{"internalType":"SD59x18","name":"x","type":"int256"},{"internalType":"SD59x18","name":"y","type":"int256"}],"type":"error","name":"PRBMath_SD59x18_Div_Overflow"},{"inputs":[{"internalType":"SD59x18","name":"x","type":"int256"}],"type":"error","name":"PRBMath_SD59x18_Exp2_InputTooBig"},{"inputs":[{"internalType":"SD59x18","name":"x","type":"int256"}],"type":"error","name":"PRBMath_SD59x18_IntoUint256_Underflow"},{"inputs":[{"internalType":"SD59x18","name":"x","type":"int256"}],"type":"error","name":"PRBMath_SD59x18_Log_InputTooSmall"},{"inputs":[],"type":"error","name":"PRBMath_SD59x18_Mul_InputTooSmall"},{"inputs":[{"internalType":"SD59x18","name":"x","type":"int256"},{"internalType":"SD59x18","name":"y","type":"int256"}],"type":"error","name":"PRBMath_SD59x18_Mul_Overflow"},{"inputs":[{"internalType":"uint128","name":"depositAmount","type":"uint128"},{"internalType":"uint128","name":"segmentAmountsSum","type":"uint128"}],"type":"error","name":"SablierV2LockupDynamic_DepositAmountNotEqualToSegmentAmountsSum"},{"inputs":[{"internalType":"uint256","name":"count","type":"uint256"}],"type":"error","name":"SablierV2LockupDynamic_SegmentCountTooHigh"},{"inputs":[],"type":"error","name":"SablierV2LockupDynamic_SegmentCountZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint40","name":"previousTimestamp","type":"uint40"},{"internalType":"uint40","name":"currentTimestamp","type":"uint40"}],"type":"error","name":"SablierV2LockupDynamic_SegmentTimestampsNotOrdered"},{"inputs":[{"internalType":"uint40","name":"startTime","type":"uint40"},{"internalType":"uint40","name":"firstSegmentTimestamp","type":"uint40"}],"type":"error","name":"SablierV2LockupDynamic_StartTimeNotLessThanFirstSegmentTimestamp"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"type":"error","name":"SablierV2Lockup_AllowToHookUnsupportedInterface"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"type":"error","name":"SablierV2Lockup_AllowToHookZeroCodeSize"},{"inputs":[{"internalType":"UD60x18","name":"brokerFee","type":"uint256"},{"internalType":"UD60x18","name":"maxBrokerFee","type":"uint256"}],"type":"error","name":"SablierV2Lockup_BrokerFeeTooHigh"},{"inputs":[],"type":"error","name":"SablierV2Lockup_DepositAmountZero"},{"inputs":[{"internalType":"uint40","name":"blockTimestamp","type":"uint40"},{"internalType":"uint40","name":"endTime","type":"uint40"}],"type":"error","name":"SablierV2Lockup_EndTimeNotInTheFuture"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"type":"error","name":"SablierV2Lockup_InvalidHookSelector"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"SablierV2Lockup_NotTransferable"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"type":"error","name":"SablierV2Lockup_Null"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"uint128","name":"withdrawableAmount","type":"uint128"}],"type":"error","name":"SablierV2Lockup_Overdraw"},{"inputs":[],"type":"error","name":"SablierV2Lockup_StartTimeZero"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"type":"error","name":"SablierV2Lockup_StreamCanceled"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"type":"error","name":"SablierV2Lockup_StreamDepleted"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"type":"error","name":"SablierV2Lockup_StreamNotCancelable"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"type":"error","name":"SablierV2Lockup_StreamNotDepleted"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"type":"error","name":"SablierV2Lockup_StreamSettled"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"SablierV2Lockup_Unauthorized"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"type":"error","name":"SablierV2Lockup_WithdrawAmountZero"},{"inputs":[{"internalType":"uint256","name":"streamIdsCount","type":"uint256"},{"internalType":"uint256","name":"amountsCount","type":"uint256"}],"type":"error","name":"SablierV2Lockup_WithdrawArrayCountsNotEqual"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"type":"error","name":"SablierV2Lockup_WithdrawToZeroAddress"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"},{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"to","type":"address"}],"type":"error","name":"SablierV2Lockup_WithdrawalAddressNotRecipient"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"address","name":"admin","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":false}],"type":"event","name":"AllowToHook","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_fromTokenId","type":"uint256","indexed":false},{"internalType":"uint256","name":"_toTokenId","type":"uint256","indexed":false}],"type":"event","name":"BatchMetadataUpdate","anonymous":false},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"contract IERC20","name":"asset","type":"address","indexed":true},{"internalType":"uint128","name":"senderAmount","type":"uint128","indexed":false},{"internalType":"uint128","name":"recipientAmount","type":"uint128","indexed":false}],"type":"event","name":"CancelLockupStream","anonymous":false},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256","indexed":false},{"internalType":"address","name":"funder","type":"address","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"struct Lockup.CreateAmounts","name":"amounts","type":"tuple","components":[{"internalType":"uint128","name":"deposit","type":"uint128"},{"internalType":"uint128","name":"brokerFee","type":"uint128"}],"indexed":false},{"internalType":"contract IERC20","name":"asset","type":"address","indexed":true},{"internalType":"bool","name":"cancelable","type":"bool","indexed":false},{"internalType":"bool","name":"transferable","type":"bool","indexed":false},{"internalType":"struct LockupDynamic.Segment[]","name":"segments","type":"tuple[]","components":[{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"UD2x18","name":"exponent","type":"uint64"},{"internalType":"uint40","name":"timestamp","type":"uint40"}],"indexed":false},{"internalType":"struct LockupDynamic.Timestamps","name":"timestamps","type":"tuple","components":[{"internalType":"uint40","name":"start","type":"uint40"},{"internalType":"uint40","name":"end","type":"uint40"}],"indexed":false},{"internalType":"address","name":"broker","type":"address","indexed":false}],"type":"event","name":"CreateLockupDynamicStream","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"MetadataUpdate","anonymous":false},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256","indexed":true}],"type":"event","name":"RenounceLockupStream","anonymous":false},{"inputs":[{"internalType":"address","name":"admin","type":"address","indexed":true},{"internalType":"contract ISablierV2NFTDescriptor","name":"oldNFTDescriptor","type":"address","indexed":false},{"internalType":"contract ISablierV2NFTDescriptor","name":"newNFTDescriptor","type":"address","indexed":false}],"type":"event","name":"SetNFTDescriptor","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"oldAdmin","type":"address","indexed":true},{"internalType":"address","name":"newAdmin","type":"address","indexed":true}],"type":"event","name":"TransferAdmin","anonymous":false},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"contract IERC20","name":"asset","type":"address","indexed":true},{"internalType":"uint128","name":"amount","type":"uint128","indexed":false}],"type":"event","name":"WithdrawFromLockupStream","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_BROKER_FEE","outputs":[{"internalType":"UD60x18","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_SEGMENT_COUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"allowToHook"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancel"},{"inputs":[{"internalType":"uint256[]","name":"streamIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"cancelMultiple"},{"inputs":[{"internalType":"struct LockupDynamic.CreateWithDurations","name":"params","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint128","name":"totalAmount","type":"uint128"},{"internalType":"contract IERC20","name":"asset","type":"address"},{"internalType":"bool","name":"cancelable","type":"bool"},{"internalType":"bool","name":"transferable","type":"bool"},{"internalType":"struct LockupDynamic.SegmentWithDuration[]","name":"segments","type":"tuple[]","components":[{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"UD2x18","name":"exponent","type":"uint64"},{"internalType":"uint40","name":"duration","type":"uint40"}]},{"internalType":"struct Broker","name":"broker","type":"tuple","components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"UD60x18","name":"fee","type":"uint256"}]}]}],"stateMutability":"nonpayable","type":"function","name":"createWithDurations","outputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}]},{"inputs":[{"internalType":"struct LockupDynamic.CreateWithTimestamps","name":"params","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint128","name":"totalAmount","type":"uint128"},{"internalType":"contract IERC20","name":"asset","type":"address"},{"internalType":"bool","name":"cancelable","type":"bool"},{"internalType":"bool","name":"transferable","type":"bool"},{"internalType":"uint40","name":"startTime","type":"uint40"},{"internalType":"struct LockupDynamic.Segment[]","name":"segments","type":"tuple[]","components":[{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"UD2x18","name":"exponent","type":"uint64"},{"internalType":"uint40","name":"timestamp","type":"uint40"}]},{"internalType":"struct Broker","name":"broker","type":"tuple","components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"UD60x18","name":"fee","type":"uint256"}]}]}],"stateMutability":"nonpayable","type":"function","name":"createWithTimestamps","outputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAsset","outputs":[{"internalType":"contract IERC20","name":"asset","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDepositedAmount","outputs":[{"internalType":"uint128","name":"depositedAmount","type":"uint128"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getEndTime","outputs":[{"internalType":"uint40","name":"endTime","type":"uint40"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getRecipient","outputs":[{"internalType":"address","name":"recipient","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getRefundedAmount","outputs":[{"internalType":"uint128","name":"refundedAmount","type":"uint128"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSegments","outputs":[{"internalType":"struct LockupDynamic.Segment[]","name":"segments","type":"tuple[]","components":[{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"UD2x18","name":"exponent","type":"uint64"},{"internalType":"uint40","name":"timestamp","type":"uint40"}]}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStartTime","outputs":[{"internalType":"uint40","name":"startTime","type":"uint40"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStream","outputs":[{"internalType":"struct LockupDynamic.StreamLD","name":"stream","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint40","name":"startTime","type":"uint40"},{"internalType":"uint40","name":"endTime","type":"uint40"},{"internalType":"bool","name":"isCancelable","type":"bool"},{"internalType":"bool","name":"wasCanceled","type":"bool"},{"internalType":"contract IERC20","name":"asset","type":"address"},{"internalType":"bool","name":"isDepleted","type":"bool"},{"internalType":"bool","name":"isStream","type":"bool"},{"internalType":"bool","name":"isTransferable","type":"bool"},{"internalType":"struct Lockup.Amounts","name":"amounts","type":"tuple","components":[{"internalType":"uint128","name":"deposited","type":"uint128"},{"internalType":"uint128","name":"withdrawn","type":"uint128"},{"internalType":"uint128","name":"refunded","type":"uint128"}]},{"internalType":"struct LockupDynamic.Segment[]","name":"segments","type":"tuple[]","components":[{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"UD2x18","name":"exponent","type":"uint64"},{"internalType":"uint40","name":"timestamp","type":"uint40"}]}]}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getTimestamps","outputs":[{"internalType":"struct LockupDynamic.Timestamps","name":"timestamps","type":"tuple","components":[{"internalType":"uint40","name":"start","type":"uint40"},{"internalType":"uint40","name":"end","type":"uint40"}]}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getWithdrawnAmount","outputs":[{"internalType":"uint128","name":"withdrawnAmount","type":"uint128"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"stateMutability":"view","type":"function","name":"isAllowedToHook","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isCancelable","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isCold","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isDepleted","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isStream","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isTransferable","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isWarm","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextStreamId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nftDescriptor","outputs":[{"internalType":"contract ISablierV2NFTDescriptor","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"refundableAmountOf","outputs":[{"internalType":"uint128","name":"refundableAmount","type":"uint128"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"renounce"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"contract ISablierV2NFTDescriptor","name":"newNFTDescriptor","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setNFTDescriptor"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"statusOf","outputs":[{"internalType":"enum Lockup.Status","name":"status","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"streamedAmountOf","outputs":[{"internalType":"uint128","name":"streamedAmount","type":"uint128"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"uri","type":"string"}]},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferAdmin"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"wasCanceled","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint128","name":"amount","type":"uint128"}],"stateMutability":"nonpayable","type":"function","name":"withdraw"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawMax","outputs":[{"internalType":"uint128","name":"withdrawnAmount","type":"uint128"}]},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"},{"internalType":"address","name":"newRecipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawMaxAndTransfer","outputs":[{"internalType":"uint128","name":"withdrawnAmount","type":"uint128"}]},{"inputs":[{"internalType":"uint256[]","name":"streamIds","type":"uint256[]"},{"internalType":"uint128[]","name":"amounts","type":"uint128[]"}],"stateMutability":"nonpayable","type":"function","name":"withdrawMultiple"},{"inputs":[{"internalType":"uint256","name":"streamId","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawableAmountOf","outputs":[{"internalType":"uint128","name":"withdrawableAmount","type":"uint128"}]}],"devdoc":{"kind":"dev","methods":{"allowToHook(address)":{"details":"Emits an {AllowToHook} event. Notes: - Does not revert if the contract is already on the allowlist. - This is an irreversible operation. The contract cannot be removed from the allowlist. Requirements: - `msg.sender` must be the contract admin. - `recipient` must have a non-zero code size. - `recipient` must implement {ISablierLockupRecipient}.","params":{"recipient":"The address of the contract to allow for hooks."}},"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"burn(uint256)":{"details":"Emits a {Transfer} event. Requirements: - Must not be delegate called. - `streamId` must reference a depleted stream. - The NFT must exist. - `msg.sender` must be either the NFT owner or an approved third party.","params":{"streamId":"The ID of the stream NFT to burn."}},"cancel(uint256)":{"details":"Emits a {Transfer}, {CancelLockupStream}, and {MetadataUpdate} event. Notes: - If there any assets left for the recipient to withdraw, the stream is marked as canceled. Otherwise, the stream is marked as depleted. - This function attempts to invoke a hook on the recipient, if the resolved address is a contract. Requirements: - Must not be delegate called. - The stream must be warm and cancelable. - `msg.sender` must be the stream's sender.","params":{"streamId":"The ID of the stream to cancel."}},"cancelMultiple(uint256[])":{"details":"Emits multiple {Transfer}, {CancelLockupStream}, and {MetadataUpdate} events. Notes: - Refer to the notes in {cancel}. Requirements: - All requirements from {cancel} must be met for each stream.","params":{"streamIds":"The IDs of the streams to cancel."}},"constructor":{"details":"Emits a {TransferAdmin} event.","params":{"initialAdmin":"The address of the initial contract admin.","initialNFTDescriptor":"The address of the NFT descriptor contract.","maxSegmentCount":"The maximum number of segments allowed in a stream."}},"createWithDurations((address,address,uint128,address,bool,bool,(uint128,uint64,uint40)[],(address,uint256)))":{"details":"Emits a {Transfer} and {CreateLockupDynamicStream} event. Requirements: - All requirements in {createWithTimestamps} must be met for the calculated parameters.","params":{"params":"Struct encapsulating the function parameters, which are documented in {DataTypes}."},"returns":{"streamId":"The ID of the newly created stream."}},"createWithTimestamps((address,address,uint128,address,bool,bool,uint40,(uint128,uint64,uint40)[],(address,uint256)))":{"details":"Emits a {Transfer} and {CreateLockupDynamicStream} event. Notes: - As long as the segment timestamps are arranged in ascending order, it is not an error for some of them to be in the past. Requirements: - Must not be delegate called. - `params.totalAmount` must be greater than zero. - If set, `params.broker.fee` must not be greater than `MAX_BROKER_FEE`. - `params.startTime` must be greater than zero and less than the first segment's timestamp. - `params.segments` must have at least one segment, but not more than `MAX_SEGMENT_COUNT`. - The segment timestamps must be arranged in ascending order. - The last segment timestamp (i.e. the stream's end time) must be in the future. - The sum of the segment amounts must equal the deposit amount. - `params.recipient` must not be the zero address. - `msg.sender` must have allowed this contract to spend at least `params.totalAmount` assets.","params":{"params":"Struct encapsulating the function parameters, which are documented in {DataTypes}."},"returns":{"streamId":"The ID of the newly created stream."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getAsset(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"getDepositedAmount(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"getEndTime(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"getRecipient(uint256)":{"details":"Reverts if the NFT has been burned.","params":{"streamId":"The stream ID for the query."}},"getRefundedAmount(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"getSegments(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"getSender(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"getStartTime(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"getStream(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."},"returns":{"stream":"See the documentation in {DataTypes}."}},"getTimestamps(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."},"returns":{"timestamps":"See the documentation in {DataTypes}."}},"getWithdrawnAmount(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"isAllowedToHook(address)":{"details":"See {ISablierLockupRecipient} for more information."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isCancelable(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"isCold(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"isDepleted(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"isStream(uint256)":{"details":"Does not revert if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"isTransferable(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"isWarm(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"refundableAmountOf(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"renounce(uint256)":{"details":"Emits a {RenounceLockupStream} and {MetadataUpdate} event. Notes: - This is an irreversible operation. Requirements: - Must not be delegate called. - `streamId` must reference a warm stream. - `msg.sender` must be the stream's sender. - The stream must be cancelable.","params":{"streamId":"The ID of the stream to renounce."}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"setNFTDescriptor(address)":{"details":"Emits a {SetNFTDescriptor} and {BatchMetadataUpdate} event. Notes: - Does not revert if the NFT descriptor is the same. Requirements: - `msg.sender` must be the contract admin.","params":{"newNFTDescriptor":"The address of the new NFT descriptor contract."}},"statusOf(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"streamedAmountOf(uint256)":{"details":"Reverts if `streamId` references a null stream. Notes: - Upon cancellation of the stream, the amount streamed is calculated as the difference between the deposited amount and the refunded amount. Ultimately, when the stream becomes depleted, the streamed amount is equivalent to the total amount withdrawn.","params":{"streamId":"The stream ID for the query."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferAdmin(address)":{"details":"Notes: - Does not revert if the admin is the same. - This function can potentially leave the contract without an admin, thereby removing any functionality that is only available to the admin. Requirements: - `msg.sender` must be the contract admin.","params":{"newAdmin":"The address of the new admin."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"wasCanceled(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}},"withdraw(uint256,address,uint128)":{"details":"Emits a {Transfer}, {WithdrawFromLockupStream}, and {MetadataUpdate} event. Notes: - This function attempts to call a hook on the recipient of the stream, unless `msg.sender` is the recipient. Requirements: - Must not be delegate called. - `streamId` must not reference a null or depleted stream. - `to` must not be the zero address. - `amount` must be greater than zero and must not exceed the withdrawable amount. - `to` must be the recipient if `msg.sender` is not the stream's recipient or an approved third party.","params":{"amount":"The amount to withdraw, denoted in units of the asset's decimals.","streamId":"The ID of the stream to withdraw from.","to":"The address receiving the withdrawn assets."}},"withdrawMax(uint256,address)":{"details":"Emits a {Transfer}, {WithdrawFromLockupStream}, and {MetadataUpdate} event. Notes: - Refer to the notes in {withdraw}. Requirements: - Refer to the requirements in {withdraw}.","params":{"streamId":"The ID of the stream to withdraw from.","to":"The address receiving the withdrawn assets."},"returns":{"withdrawnAmount":"The amount withdrawn, denoted in units of the asset's decimals."}},"withdrawMaxAndTransfer(uint256,address)":{"details":"Emits a {WithdrawFromLockupStream} and a {Transfer} event. Notes: - If the withdrawable amount is zero, the withdrawal is skipped. - Refer to the notes in {withdraw}. Requirements: - `msg.sender` must be the stream's recipient. - Refer to the requirements in {withdraw}. - Refer to the requirements in {IERC721.transferFrom}.","params":{"newRecipient":"The address of the new owner of the stream NFT.","streamId":"The ID of the stream NFT to transfer."},"returns":{"withdrawnAmount":"The amount withdrawn, denoted in units of the asset's decimals."}},"withdrawMultiple(uint256[],uint128[])":{"details":"Emits multiple {Transfer}, {WithdrawFromLockupStream}, and {MetadataUpdate} events. Notes: - This function attempts to call a hook on the recipient of each stream, unless `msg.sender` is the recipient. Requirements: - Must not be delegate called. - There must be an equal number of `streamIds` and `amounts`. - Each stream ID in the array must not reference a null or depleted stream. - Each amount in the array must be greater than zero and must not exceed the withdrawable amount.","params":{"amounts":"The amounts to withdraw, denoted in units of the asset's decimals.","streamIds":"The IDs of the streams to withdraw from."}},"withdrawableAmountOf(uint256)":{"details":"Reverts if `streamId` references a null stream.","params":{"streamId":"The stream ID for the query."}}},"version":1},"userdoc":{"kind":"user","methods":{"MAX_BROKER_FEE()":{"notice":"Retrieves the maximum broker fee that can be charged by the broker, denoted as a fixed-point number where 1e18 is 100%."},"MAX_SEGMENT_COUNT()":{"notice":"The maximum number of segments allowed in a stream."},"admin()":{"notice":"The address of the admin account or contract."},"allowToHook(address)":{"notice":"Allows a recipient contract to hook to Sablier when a stream is canceled or when assets are withdrawn. Useful for implementing contracts that hold streams on behalf of users, such as vaults or staking contracts."},"burn(uint256)":{"notice":"Burns the NFT associated with the stream."},"cancel(uint256)":{"notice":"Cancels the stream and refunds any remaining assets to the sender."},"cancelMultiple(uint256[])":{"notice":"Cancels multiple streams and refunds any remaining assets to the sender."},"createWithDurations((address,address,uint128,address,bool,bool,(uint128,uint64,uint40)[],(address,uint256)))":{"notice":"Creates a stream by setting the start time to `block.timestamp`, and the end time to the sum of `block.timestamp` and all specified time durations. The segment timestamps are derived from these durations. The stream is funded by `msg.sender` and is wrapped in an ERC-721 NFT."},"createWithTimestamps((address,address,uint128,address,bool,bool,uint40,(uint128,uint64,uint40)[],(address,uint256)))":{"notice":"Creates a stream with the provided segment timestamps, implying the end time from the last timestamp. The stream is funded by `msg.sender` and is wrapped in an ERC-721 NFT."},"getAsset(uint256)":{"notice":"Retrieves the address of the ERC-20 asset to be distributed."},"getDepositedAmount(uint256)":{"notice":"Retrieves the amount deposited in the stream, denoted in units of the asset's decimals."},"getEndTime(uint256)":{"notice":"Retrieves the stream's end time, which is a Unix timestamp."},"getRecipient(uint256)":{"notice":"Retrieves the stream's recipient."},"getRefundedAmount(uint256)":{"notice":"Retrieves the amount refunded to the sender after a cancellation, denoted in units of the asset's decimals. This amount is always zero unless the stream was canceled."},"getSegments(uint256)":{"notice":"Retrieves the segments used to compose the dynamic distribution function."},"getSender(uint256)":{"notice":"Retrieves the stream's sender."},"getStartTime(uint256)":{"notice":"Retrieves the stream's start time, which is a Unix timestamp."},"getStream(uint256)":{"notice":"Retrieves the full stream details."},"getTimestamps(uint256)":{"notice":"Retrieves the stream's start and end timestamps."},"getWithdrawnAmount(uint256)":{"notice":"Retrieves the amount withdrawn from the stream, denoted in units of the asset's decimals."},"isAllowedToHook(address)":{"notice":"Retrieves a flag indicating whether the provided address is a contract allowed to hook to Sablier when a stream is canceled or when assets are withdrawn."},"isCancelable(uint256)":{"notice":"Retrieves a flag indicating whether the stream can be canceled. When the stream is cold, this flag is always `false`."},"isCold(uint256)":{"notice":"Retrieves a flag indicating whether the stream is cold, i.e. settled, canceled, or depleted."},"isDepleted(uint256)":{"notice":"Retrieves a flag indicating whether the stream is depleted."},"isStream(uint256)":{"notice":"Retrieves a flag indicating whether the stream exists."},"isTransferable(uint256)":{"notice":"Retrieves a flag indicating whether the stream NFT can be transferred."},"isWarm(uint256)":{"notice":"Retrieves a flag indicating whether the stream is warm, i.e. either pending or streaming."},"nextStreamId()":{"notice":"Counter for stream IDs, used in the create functions."},"nftDescriptor()":{"notice":"Contract that generates the non-fungible token URI."},"refundableAmountOf(uint256)":{"notice":"Calculates the amount that the sender would be refunded if the stream were canceled, denoted in units of the asset's decimals."},"renounce(uint256)":{"notice":"Removes the right of the stream's sender to cancel the stream."},"setNFTDescriptor(address)":{"notice":"Sets a new NFT descriptor contract, which produces the URI describing the Sablier stream NFTs."},"statusOf(uint256)":{"notice":"Retrieves the stream's status."},"streamedAmountOf(uint256)":{"notice":"Calculates the amount streamed to the recipient, denoted in units of the asset's decimals."},"transferAdmin(address)":{"notice":"Transfers the contract admin to a new address."},"wasCanceled(uint256)":{"notice":"Retrieves a flag indicating whether the stream was canceled."},"withdraw(uint256,address,uint128)":{"notice":"Withdraws the provided amount of assets from the stream to the `to` address."},"withdrawMax(uint256,address)":{"notice":"Withdraws the maximum withdrawable amount from the stream to the provided address `to`."},"withdrawMaxAndTransfer(uint256,address)":{"notice":"Withdraws the maximum withdrawable amount from the stream to the current recipient, and transfers the NFT to `newRecipient`."},"withdrawMultiple(uint256[],uint128[])":{"notice":"Withdraws assets from streams to the recipient of each stream."},"withdrawableAmountOf(uint256)":{"notice":"Calculates the amount that the recipient can withdraw from the stream, denoted in units of the asset's decimals."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/","@prb/math/=node_modules/@prb/math/","forge-std/=node_modules/forge-std/","solady/=node_modules/solady/","solarray/=node_modules/solarray/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/SablierV2LockupDynamic.sol":"SablierV2LockupDynamic"},"evmVersion":"shanghai","libraries":{},"viaIR":true},"sources":{"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC4906.sol":{"keccak256":"0xb31b86c03f4677dcffa4655285d62433509513be9bafa0e04984565052d34e44","urls":["bzz-raw://a89c6fb0cd5fef4244500b633f63def9f2bb2134debb961e590bd5a2910662fd","dweb:/ipfs/QmNqWyCxyopvb99RbRomPpfTZGXRi5MnzgpFXE2BFLLgMc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC721.sol":{"keccak256":"0xc4d7ebf63eb2f6bf3fee1b6c0ee775efa9f31b4843a5511d07eea147e212932d","urls":["bzz-raw://01c66a2fad66bc710db7510419a7eee569b40b67cd9f01b70a3fc90d6f76c03b","dweb:/ipfs/QmT1CjJZq4eTNA4nu8E9ZrWfaZu6ReUsDbjcK8DbEFqwx5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7","urls":["bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f","dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff","urls":["bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d","dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x37bb49513c49c87c4642a891b13b63571bc87013dde806617aa1efb54605f386","urls":["bzz-raw://b3036b3a83b7c48f96641f2a9002b9f2dcb6a5958dd670894ada21ae8229b3d0","dweb:/ipfs/QmUNfSBdoVtjhETaUJCYcaC7pTMgbhht926tJ2uXJbiVd3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol":{"keccak256":"0x13dd061770956c8489b80cfc89d9cdfc8ea2783d953691ea037a380731d52784","urls":["bzz-raw://ed37f0f86e7fe31659e48c3a2a5920a92dd7f13c85cf8991fb79fe5f01e08efd","dweb:/ipfs/QmUtm9bQGvjr9hHGwkPWrbgFmVqzaJcxjkaYDex2oGsonS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4","urls":["bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7","dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0x7f7a26306c79a65fb8b3b6c757cd74660c532cd8a02e165488e30027dd34ca49","urls":["bzz-raw://d01e0b2b837ee2f628545e54d8715b49c7ef2befd08356c2e7f6c50dde8a1c22","dweb:/ipfs/QmWBAn6y2D1xgftci97Z3qR9tQnkvwQpYwFwkTvDMvqU4i"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1","urls":["bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02","dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721","urls":["bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245","dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133","urls":["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8","dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0xaa374e2c26cc93e8c22a6953804ee05f811597ef5fa82f76824378b22944778b","urls":["bzz-raw://279c732e161d623cf4d8a9519ca4c42c0c2db99842d0eb2a20c10fde3fa722c9","dweb:/ipfs/QmVViuUXbinQGqtG5M21SgVzKihiCbFUChd4tDhtvwRmxH"],"license":"MIT"},"node_modules/@prb/math/src/SD59x18.sol":{"keccak256":"0xff25fe75f8e77d4c839fbe69198d273039575fa72f31ce9725bcacb80db65461","urls":["bzz-raw://7ed7bc89a4efa33fc9392de8104c8af609fd3372b323d7824a6a3ae888bad3be","dweb:/ipfs/QmfCbW4geVSm7uJW4KUoXrejR2SywcRJrXwMBzUBWYiXJa"],"license":"MIT"},"node_modules/@prb/math/src/UD2x18.sol":{"keccak256":"0xfb624e24cd8bb790fa08e7827819de85504a86e20e961fa4ad126c65b6d90641","urls":["bzz-raw://dd795b8df250e7eedc68e2dba1afbb60357ce8f22f21bed212b5a9046d2057d2","dweb:/ipfs/QmUHtrSr8Gb6bvSe2rCWPA5YrJq72UiJARYr1gZqFVRsYH"],"license":"MIT"},"node_modules/@prb/math/src/UD60x18.sol":{"keccak256":"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48","urls":["bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9","dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp"],"license":"MIT"},"node_modules/@prb/math/src/casting/Uint128.sol":{"keccak256":"0x9c024bd914e8250450e27efcd2acd5043f968d730e4adfe6a7c7996e2e0c4a64","urls":["bzz-raw://693d41be28bd50bdee3530989155428b5d34bdbd47a0ae760f611425bdd95907","dweb:/ipfs/QmX4mMqUpauMzXTWEkVgm2pCcq4iLbFvunCQBFVW3J3xpo"],"license":"MIT"},"node_modules/@prb/math/src/casting/Uint40.sol":{"keccak256":"0x81976e7cd604bab95a35a6ce1d20fba7f8b57616a27f8f8e13b08334a4487f7d","urls":["bzz-raw://8a8e06a78402c9e6b667bb6b0eccf63d6466c4d124a0f20ded2e484a1eb9053e","dweb:/ipfs/QmcEC7ZnALzNFnQQggY9Hr7vJtvfuoVoGRkMHtBqSs74vS"],"license":"MIT"},"node_modules/@prb/math/src/sd1x18/Casting.sol":{"keccak256":"0x9e49e2b37c1bb845861740805edaaef3fe951a7b96eef16ce84fbf76e8278670","urls":["bzz-raw://d3f65f257f9f516f2b40ca30b1c999819777111bd59a92376df6c5823453165a","dweb:/ipfs/QmVQRKMS6ibv6x9qWXLJp2KZw9qs6Yz1sYZQWoSBQM8Pkz"],"license":"MIT"},"node_modules/@prb/math/src/sd1x18/Constants.sol":{"keccak256":"0x6496165b80552785a4b65a239b96e2a5fedf62fe54f002eeed72d75e566d7585","urls":["bzz-raw://3a1623b9a1e03f548787d9f876a26647090f40db765a32a99167cb89da145339","dweb:/ipfs/QmezifZR7md7GzQisgdUmYKWJx1zuiqosVRsmJyNkvJxK9"],"license":"MIT"},"node_modules/@prb/math/src/sd1x18/Errors.sol":{"keccak256":"0x836cb42ba619ca369fd4765bc47fefc3c3621369c5861882af14660aca5057ee","urls":["bzz-raw://58873bcebf7398f63c6d3f234073fb6739fe4fae87428010cd0bc1aa68f53499","dweb:/ipfs/QmZSZ9z4ZQUGRc1TRiL2F9AL7ysnGRXwRtocMa2zhxHFDp"],"license":"MIT"},"node_modules/@prb/math/src/sd1x18/ValueType.sol":{"keccak256":"0x2f86f1aa9fca42f40808b51a879b406ac51817647bdb9642f8a79dd8fdb754a7","urls":["bzz-raw://31559dfc012ebe40fcdb38c45e7edfa16406f11c6ea219e8676749f20dbbb5dd","dweb:/ipfs/QmXeYzF9hYQphVExJRp41Vkebrs51k7xgr3jXfKgdD87XC"],"license":"MIT"},"node_modules/@prb/math/src/sd59x18/Casting.sol":{"keccak256":"0x3b21b60ec2998c3ae32f647412da51d3683b3f183a807198cc8d157499484f99","urls":["bzz-raw://08a49ba7ebf592a89e1a81e5987351e7810e371f4c3d2356d9b5a9b58462c809","dweb:/ipfs/QmcvyHaUzd74eYjcZWQgUDFJfYrU8kFohiB1H5cs8HgUDp"],"license":"MIT"},"node_modules/@prb/math/src/sd59x18/Constants.sol":{"keccak256":"0x9bcb8dd6b3e886d140ad1c32747a4f6d29a492529ceb835be878ae837aa6cc3a","urls":["bzz-raw://c4045c633e3618e7e90a768d92415b2f20f781fe129b4f4e26fa88f7dbf9201f","dweb:/ipfs/Qmbet95pizwPno82cJ383wJtgQRSQKESmhVZ1vDrgAu7Si"],"license":"MIT"},"node_modules/@prb/math/src/sd59x18/Conversions.sol":{"keccak256":"0x9876a288dcbb2583c5361a3e60b5b30c7d4c89c8d2aa35364f2f521656d8db80","urls":["bzz-raw://c76a858b3462070671babff2d079f9368bc022017f34921092c93ee5751b99a5","dweb:/ipfs/QmYQqUodEny8uqQeqXwYU5GDsHPMEUz5HvGF2ChjbmDWbL"],"license":"MIT"},"node_modules/@prb/math/src/sd59x18/Errors.sol":{"keccak256":"0xa6d00fe5efa215ac0df25c896e3da99a12fb61e799644b2ec32da947313d3db4","urls":["bzz-raw://cbfcf2d9681a2af1e076439791e2853b466066d867bfcbbf6b46b4a4476f712f","dweb:/ipfs/QmWGznYLYdvsjMSyauT2DoipgGLVGW9KASXEknTgR5eRMv"],"license":"MIT"},"node_modules/@prb/math/src/sd59x18/Helpers.sol":{"keccak256":"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716","urls":["bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed","dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD"],"license":"MIT"},"node_modules/@prb/math/src/sd59x18/Math.sol":{"keccak256":"0xa074831139fc89ca0e5a36086b30eb50896bb6770cd5823461b1f2769017d2f0","urls":["bzz-raw://bd0ce38e8e85ed1a5179c1016af6131eb29674f195c66971d5e6da2764222d0d","dweb:/ipfs/QmbHLp9E8dNuz8Fi2rRcYjLVGfVdacLyjrktQzxf62FLXp"],"license":"MIT"},"node_modules/@prb/math/src/sd59x18/ValueType.sol":{"keccak256":"0xe03112d145dcd5863aff24e5f381debaae29d446acd5666f3d640e3d9af738d7","urls":["bzz-raw://abacb7cba4bd732c961cfe7d66c5eec924c7a9ffe0bf07fafc95b65a887071f6","dweb:/ipfs/QmSBefftoSJDMdmp5CFAVvJjPHJXHhd11x1FzkcHQxLjoT"],"license":"MIT"},"node_modules/@prb/math/src/ud2x18/Casting.sol":{"keccak256":"0x9b1a35d432ef951a415fae8098b3c609a99b630a3d5464b3c8e1efa8893eea07","urls":["bzz-raw://977ab8a458a6aeaf7cfd125c06e1e4c50fa1147f0b72638d1ae1fb4f6ad37ddd","dweb:/ipfs/QmeVVDpmYm1Tc8kpscF1Z2rtYvkpb1NeGBwRoYgLBuwXeA"],"license":"MIT"},"node_modules/@prb/math/src/ud2x18/Constants.sol":{"keccak256":"0x29b0e050c865899e1fb9022b460a7829cdee248c44c4299f068ba80695eec3fc","urls":["bzz-raw://cbaef16b662fac235349bcf97bc980dd0cba15d4e6230caae61224cdac8ea6d9","dweb:/ipfs/QmZQa5XBhi7k3yhtCd8wVpnwW8htfU4sjXxWhxRypMBYkC"],"license":"MIT"},"node_modules/@prb/math/src/ud2x18/Errors.sol":{"keccak256":"0xdf1e22f0b4c8032bcc8b7f63fe3984e1387f3dc7b2e9ab381822249f75376d33","urls":["bzz-raw://975f9beb25a1ebff9b29dd5555e1f4f14a4fbf178d15ebd3add5ed5f5985fdec","dweb:/ipfs/QmbvTvdtSrZi7J4sJuv6zUsymT5UctJnx4DkGezXW25r59"],"license":"MIT"},"node_modules/@prb/math/src/ud2x18/ValueType.sol":{"keccak256":"0x2802edc9869db116a0b5c490cc5f8554742f747183fa30ac5e9c80bb967e61a1","urls":["bzz-raw://e9657724f5032559c953cba61db0fbca71f6b50f51edb53a08f840cb74a36c95","dweb:/ipfs/QmX2KF8v7ng13NaavyogM3SGR4jCMLUuqKkxFhtxvc7D7m"],"license":"MIT"},"node_modules/@prb/math/src/ud60x18/Casting.sol":{"keccak256":"0x5bb532da36921cbdac64d1f16de5d366ef1f664502e3b7c07d0ad06917551f85","urls":["bzz-raw://f0819da49f6a86a1fc2ece8e8a4292f8d102dc1043a1d0a545c26d020d1f36fe","dweb:/ipfs/QmdzLoo99EBJv2GGiZZAAY8Bfr4ivFykzeSbpF48aJxFZ9"],"license":"MIT"},"node_modules/@prb/math/src/ud60x18/Constants.sol":{"keccak256":"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90","urls":["bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b","dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5"],"license":"MIT"},"node_modules/@prb/math/src/ud60x18/Conversions.sol":{"keccak256":"0xaf7fc2523413822de3b66ba339fe2884fb3b8c6f6cf38ec90a2c3e3aae71df6b","urls":["bzz-raw://655c9fe2434ca039b67277d753a60d39f2938260c716a36d24b591acf8c4fb75","dweb:/ipfs/QmbygBAjCoFe9oUp9QkJ45jqctThk7VSmiSVLHV4Z3WHVe"],"license":"MIT"},"node_modules/@prb/math/src/ud60x18/Errors.sol":{"keccak256":"0xa8c60d4066248df22c49c882873efbc017344107edabc48c52209abbc39cb1e3","urls":["bzz-raw://8fb7e1103309b4f99e95bb638850c0321272d57bd3e6b0a6331d699ff103cbaf","dweb:/ipfs/QmfLFHjVJv4ibEvMmh46qC5nCbeCYSfXgCTDWQqfW3jnyB"],"license":"MIT"},"node_modules/@prb/math/src/ud60x18/Helpers.sol":{"keccak256":"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268","urls":["bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5","dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr"],"license":"MIT"},"node_modules/@prb/math/src/ud60x18/Math.sol":{"keccak256":"0x462144667aac3f96d5f8dba7aa68fe4c5a3f61e1d7bbbc81bee21168817f9c09","urls":["bzz-raw://d9bb7f11754e2202ed03351e52ef72f7ec85120b4a3ddec2f312b7bf5b08d4d7","dweb:/ipfs/Qmd1tg9PEfdHD1GNmTiB8wUM7VrS4jfQFto3KKn1vfYGjw"],"license":"MIT"},"node_modules/@prb/math/src/ud60x18/ValueType.sol":{"keccak256":"0xdd873b5124180d9b71498b3a7fe93b1c08c368bec741f7d5f8e17f78a0b70f31","urls":["bzz-raw://7df6700f747dd01b2520a900a8d6b5a4d239b8063c31384f40921afe22295c29","dweb:/ipfs/QmSPSPQJKNSzGJu2ri5EfWjcLfA2xDHfUehyBp4FpUu2qZ"],"license":"MIT"},"src/SablierV2LockupDynamic.sol":{"keccak256":"0x6fd38743cdc5d16144e6f6db7a97aca515700a6227b78b99485a0a993278216e","urls":["bzz-raw://45e2d8bcf27437a5bf13a695f923e8e1446116213c427f89822676acebb6693f","dweb:/ipfs/QmTZJfuNkfoizKAhr5mH9KJszejoor8oduYHBBnjRmnrRz"],"license":"BUSL-1.1"},"src/abstracts/Adminable.sol":{"keccak256":"0xdbcb26718ab7e57e1df94fd9ecd7de1345b839e6fb4925dc1a1182da770651b6","urls":["bzz-raw://02d559eaa018921cb60d10eb015d1d12e5a3ebe35c68afbbb8fb58370238dd37","dweb:/ipfs/QmTKaj3GqGssMXiNjno8NvzkKrCLHwx3dsDdsoFajCDf5c"],"license":"GPL-3.0-or-later"},"src/abstracts/NoDelegateCall.sol":{"keccak256":"0x6c9e22ca1303c5953ee5574c1605515bab67dc71e9325605087557c7faf71059","urls":["bzz-raw://8f3de9954d1dfb54e6be6a082c2732b3bd5f4b88549e2d1b29ed5527fef13fc0","dweb:/ipfs/QmfRzCfJRr2StpLTG93Qp6rvfMWfbRRoo7DKoy6yPDizwP"],"license":"GPL-3.0-or-later"},"src/abstracts/SablierV2Lockup.sol":{"keccak256":"0x64df7b1170881782596cbf6e5123c342a2aaab9e3c5bc502032249085d30fd51","urls":["bzz-raw://4ef1e6a772eb5ebd08d126ee996c16761139a53ecee9be0091a4cef4112cc5ba","dweb:/ipfs/QmdomtC5swgkrWZWYnNosvNMtjRWdMQ2bkikfdqDDYjZMC"],"license":"BUSL-1.1"},"src/interfaces/IAdminable.sol":{"keccak256":"0xa279c49e51228b571329164e36250e82b2c1378e8b549194ab7dd90fca9c3b2b","urls":["bzz-raw://b0af605b82e64679db7039fb378fc206c4a000f8cd24b3ff17b019e27b81be8f","dweb:/ipfs/QmUSr73cbnG7K79mVE9Nwcou5nJZEK2ZGekt3KpkfpxL4Z"],"license":"GPL-3.0-or-later"},"src/interfaces/ISablierLockupRecipient.sol":{"keccak256":"0x42612dfce3658e4c1ddf7e6016e6c90b36f09a0f1d8974975e9573b8bdc12a72","urls":["bzz-raw://c4439d907b73c01d82dde3b2c24459b0563597a74ecdf8f39b1ded96281b598a","dweb:/ipfs/Qme9ZqoAGrAsoJcwEjkHKSLmPZEt85XRzveKhDzBeEYcZC"],"license":"GPL-3.0-or-later"},"src/interfaces/ISablierV2Lockup.sol":{"keccak256":"0x9d7c695e1454bc14b3dd323bd8598fd762f616936553852ed55bfa02a7107e93","urls":["bzz-raw://e2401e189b3769aad662a3f7a965f43c71e606556ad548027649c1f809f4ebf1","dweb:/ipfs/QmeLrGETtVockNTi4SW1jtMRg3xkhbwbVZGuTNRxCfyafp"],"license":"GPL-3.0-or-later"},"src/interfaces/ISablierV2LockupDynamic.sol":{"keccak256":"0x79d26df186f5f4c4565123209ebcc2883f7c67c5fa9dd3403d9e2bf1928c5b44","urls":["bzz-raw://c5389672d5459da1aee9a152086ed70eb9dd59092075178b123b256cb89deb17","dweb:/ipfs/Qma7YoVmw6piuoLxqbX2xtPo9eRMApKeRZiQm3ifZQv68m"],"license":"GPL-3.0-or-later"},"src/interfaces/ISablierV2NFTDescriptor.sol":{"keccak256":"0x9f70b5549dd3f057ab460c142431fd0815e5a8501b0d3546644a7ded87dc4714","urls":["bzz-raw://15863af93766d1f1c426e0e880b21dfc6ebc3c6ce09a243704b3b95536fe4742","dweb:/ipfs/QmSCNWYQ3MeX9JPqzKF8BtnghaoHasEwXW6sRGiGkDULka"],"license":"GPL-3.0-or-later"},"src/libraries/Errors.sol":{"keccak256":"0x9920a5ecf9389c32d771063ae14bc8df1a89c871c2943617d39538c3d9f1853b","urls":["bzz-raw://59440fa6c9ad36592126c5eb5f9abd26679477453c6223fa72e5320c31e56564","dweb:/ipfs/QmUpMytnZ6CkMHBtsCcHFq78A9mbtgVZy8eeudffF23Mtv"],"license":"GPL-3.0-or-later"},"src/libraries/Helpers.sol":{"keccak256":"0x8c9a6d588207e7aad1c0c4773a62ace1b3b699b6528ab100b39e63a300ba9c4a","urls":["bzz-raw://8e5ea24618c9de72961b48ce973c2bfff87eccbe3fcc5d8f2928eb3b129cf474","dweb:/ipfs/Qmbou5G7NzFnQyaqc8pKmTBg6iNw1n3mQvTyaV2ACbLWxc"],"license":"BUSL-1.1"},"src/types/DataTypes.sol":{"keccak256":"0xcb3c3ec3060ab0dbbaa942f08a2fb752bc9b47780ca51f7ed1fdf929f0f13b35","urls":["bzz-raw://feb7f1c8add92280a8dc9c1695a9d5a233a2d7f4d7fefff64e0b5a800311268e","dweb:/ipfs/QmXnYrPTTgrVZx9iBCkkJ73kUwHScBj66MJa1MwKHHdq2a"],"license":"GPL-3.0-or-later"}},"version":1},"id":84}