{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_divRoundingUp_RoundsUp","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_divRoundingUp_maxInput","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_divRoundingUp_zeroDoesNotRevert","inputs":[{"name":"x","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_fuzz_divRoundingUp","inputs":[{"name":"x","type":"uint256","internalType":"uint256"},{"name":"y","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_fuzz_simpleMulDiv_bounded","inputs":[{"name":"a","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_fuzz_simpleMulDiv_succeeds","inputs":[{"name":"a","type":"uint256","internalType":"uint256"},{"name":"b","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_invariant_divRoundingUp","inputs":[{"name":"x","type":"uint256","internalType":"uint256"},{"name":"y","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_simpleMulDiv_noOverflow","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_simpleMulDiv_succeeds","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_simpleMulDiv_zeroDoesNotRevert","inputs":[{"name":"a","type":"uint256","internalType":"uint256"},{"name":"b","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f55611e4390816100348239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081631ed7831c1461137c575080632ade38801461114e5780633e5e3c23146110a65780633f7286f414610ffe5780634815867714610ddb57806357de937314610c1457806366d9a9a014610ab95780636c580215146109de57806385226c8114610936578063916a17c6146108615780639951189e1461079b5780639a5a5ff6146106d35780639ebc4893146105ed578063b0464fdc14610518578063b5508aa914610470578063b80a77771461045c578063ba414fa614610419578063dff6ca7514610360578063e20c9f71146102a7578063e57fa88114610186578063e5dee4ca146101535763fa7626d414610110575f80fd5b3461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057602060ff601f54166040519015158152f35b80fd5b50346101505760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101505780f35b503461015057610195366114b2565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561029857826040517f4c63e56200000000000000000000000000000000000000000000000000000000815283151560048201528181602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c57610283575b50508181061515828204019161021d8183611801565b8314918215610234575b8461023184611bd9565b80f35b61023e9250611801565b90600182018092116102565761023191145f80610227565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b8161028d916116a5565b61029857825f610207565b8280fd5b6040513d84823e3d90fd5b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101505760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b8181106103345761033085610324818703826116a5565b60405191829182611420565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920161030d565b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561015057806040517f98296c5400000000000000000000000000000000000000000000000000000000815260016004820152600160248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c576104085750f35b81610412916116a5565b6101505780f35b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610150576020610452611b00565b6040519015158152f35b50346101505761046b366114b2565b505080f35b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610150576019546104ab816116e6565b916104b960405193846116a5565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106104fb5760405180610330878261153b565b60016020819261050a856116fe565b8152019201920191906104e6565b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057601c54610553816116e6565b9161056160405193846116a5565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b8383106105a3576040518061033087826115b8565b600260206001926040516105b68161165c565b73ffffffffffffffffffffffffffffffffffffffff86541681526105db85870161184f565b8382015281520192019201919061058e565b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561015057806040517f8466f4150000000000000000000000000000000000000000000000000000000081527f7fffffffffffffffffffffffffffffff0000000000000000000000000000000060048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c576104085750f35b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561015057806040517f98296c54000000000000000000000000000000000000000000000000000000008152700180000000000000000000000000000000600482015270018000000000000000000000000000000060248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c576104085750f35b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561015057806040517f98296c540000000000000000000000000000000000000000000000000000000081526f5555555555555555555555555555555660048201526f5555555555555555555555555555555660248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c576104085750f35b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057601d5461089c816116e6565b916108aa60405193846116a5565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b8383106108ec576040518061033087826115b8565b600260206001926040516108ff8161165c565b73ffffffffffffffffffffffffffffffffffffffff865416815261092485870161184f565b838201528152019201920191906108d7565b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057601a54610971816116e6565b9161097f60405193846116a5565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b8383106109c15760405180610330878261153b565b6001602081926109d0856116fe565b8152019201920191906109ac565b50346101505760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057604435737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610ab557816040517f4c63e56200000000000000000000000000000000000000000000000000000000815282151560048201528181602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c57610aa0575b506102316004356024350283610a988183611801565b910414611bd9565b81610aaa916116a5565b610ab557815f610a82565b5080fd5b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057601b54610af4816116e6565b610b0160405191826116a5565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b838310610bd957868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610b6e57505050500390f35b91936020610bc9827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610bb9835160408452604084019061146f565b92015190848184039101526114e6565b9601920192018594939192610b5f565b60026020600192604051610bec8161165c565b610bf5866116fe565b8152610c0285870161184f565b83820152815201920192019190610b31565b5034610dd757610c23366114b2565b9190737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610dd7576040517f4c63e56200000000000000000000000000000000000000000000000000000000815283151560048201525f81602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610dcc57610db4575b50610cbc83610cb6610ca8859685611801565b828506151583860401611838565b92611845565b610d3b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d3857604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201528160248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c5761040857505080f35b50fd5b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d3857604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c5761040857505080f35b610cbc9392505f610dc4916116a5565b5f9192610c95565b6040513d5f823e3d90fd5b5f80fd5b34610dd7575f610edf6fffffffffffffffffffffffffffffffff6001610e1b6f7fffffffffffffffffffffffffffffff610e14366114b2565b9690611c55565b935f80604051610e2a8161165c565b600c81527f426f756e6420726573756c7400000000000000000000000000000000000000006020820152604051610ec981610e9760208201947fb60e72cc00000000000000000000000000000000000000000000000000000000865260406024840152606483019061146f565b8b6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826116a5565b51906a636f6e736f6c652e6c6f675afa50611c55565b905f80604051610eee8161165c565b600c81527f426f756e6420726573756c7400000000000000000000000000000000000000006020820152604051610f8d81610f5b60208201947fb60e72cc00000000000000000000000000000000000000000000000000000000865260406024840152606483019061146f565b886044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826116a5565b51906a636f6e736f6c652e6c6f675afa508060801b908082047001000000000000000000000000000000001490151715610fd15781610a98610fcf9383611801565b005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b34610dd7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610dd75760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b81811061107a5761033085610324818703826116a5565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611063565b34610dd7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610dd75760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b8181106111225761033085610324818703826116a5565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920161110b565b34610dd7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610dd757601e54611188816116e6565b9061119660405192836116a5565b808252602082019081601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106112e457848660405191829160208301906020845251809152604083019060408160051b85010192915f905b82821061120557505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061129b57505050505060208060019296019201920185949391926111f6565b90919293946020806112d7837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08760019603018952895161146f565b9701950193929101611279565b6040516112f08161165c565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054611319816116e6565b9161132760405193846116a5565b81835260208301905f5260205f20905f905b83821061135f5750505050600192826020928360029501528152019201920191906111c7565b60016020819261136e866116fe565b815201930191019091611339565b34610dd7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610dd757601654808252602082019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b8181106113f45761033085610324818703826116a5565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016113dd565b60206040818301928281528451809452019201905f5b8181106114435750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611436565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040910112610dd7576004359060243590565b90602080835192838152019201905f5b8181106115035750505090565b82517fffffffff00000000000000000000000000000000000000000000000000000000168452602093840193909201916001016114f6565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061156d57505050505090565b90919293946020806115a9837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752895161146f565b9701930193019193929061155e565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106115ea57505050505090565b909192939460208061164d837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff8151168452015191818582015201906114e6565b970193019301919392906115db565b6040810190811067ffffffffffffffff82111761167857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761167857604052565b67ffffffffffffffff81116116785760051b60200190565b90604051915f8154908160011c92600183169283156117f7575b6020851084146117ca57848752869390811561178a5750600114611746575b50611744925003836116a5565b565b90505f9291925260205f20905f915b81831061176e575050906020611744928201015f611737565b6020919350806001915483858901015201910190918492611755565b602093506117449592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f611737565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693611718565b811561180b570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b91908203918211610fd157565b811561180b570690565b90604051918281549182825260208201905f5260205f20925f905b806007830110611a6657611744945491818110611a30575b8181106119fa575b8181106119c4575b81811061198e575b818110611958575b818110611922575b8181106118ed575b106118c0575b5003836116a5565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f6118b8565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b1681520193016118b2565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b1681520193016118aa565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b1681520193016118a2565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b16815201930161189a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611892565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b16815201930161188a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611882565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e082015201940192018592939161186a565b91908201809211610fd157565b60085460ff168015611b0f5790565b506040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610dcc575f91611ba7575b50151590565b90506020813d602011611bd1575b81611bc2602093836116a5565b81010312610dd757515f611ba1565b3d9150611bb5565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610dd757604051907f0c9fd581000000000000000000000000000000000000000000000000000000008252151560048201525f81602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610dcc57611c4b5750565b5f611744916116a5565b5f90838311611db25782811091821580611da8575b611da057611c788486611838565b9260018401809411610fd157600383111580611d97575b611d88577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83101580611d7e575b611d6a5785831115611d2157505090611cd984611cde93611838565b611845565b908115611d1c57611cef9250611af3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111610fd15790565b505090565b959492919095611d32575b50505050565b83949550611cd990611d449394611838565b908115611d1c57611d559250611838565b60018101809111610fd157905f808080611d2c565b50509050611d7b9291501990611838565b90565b5082198411611cbd565b5050919050611d7b9250611af3565b50828411611c8f565b509250505090565b5084821115611c6a565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e00006064820152fdfea164736f6c634300081a000a","sourceMap":"170:2082:145:-:0;;;;;;;3166:4:2;170:2082:145;;3166:4:2;170:2082:145;;;3166:4:2;170:2082:145;3166:4:2;170:2082:145;;1038:4:12;170:2082:145;;;1038:4:12;170:2082:145;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f905f3560e01c9081631ed7831c1461137c575080632ade38801461114e5780633e5e3c23146110a65780633f7286f414610ffe5780634815867714610ddb57806357de937314610c1457806366d9a9a014610ab95780636c580215146109de57806385226c8114610936578063916a17c6146108615780639951189e1461079b5780639a5a5ff6146106d35780639ebc4893146105ed578063b0464fdc14610518578063b5508aa914610470578063b80a77771461045c578063ba414fa614610419578063dff6ca7514610360578063e20c9f71146102a7578063e57fa88114610186578063e5dee4ca146101535763fa7626d414610110575f80fd5b3461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057602060ff601f54166040519015158152f35b80fd5b50346101505760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101505780f35b503461015057610195366114b2565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561029857826040517f4c63e56200000000000000000000000000000000000000000000000000000000815283151560048201528181602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c57610283575b50508181061515828204019161021d8183611801565b8314918215610234575b8461023184611bd9565b80f35b61023e9250611801565b90600182018092116102565761023191145f80610227565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b8161028d916116a5565b61029857825f610207565b8280fd5b6040513d84823e3d90fd5b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101505760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b8181106103345761033085610324818703826116a5565b60405191829182611420565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920161030d565b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561015057806040517f98296c5400000000000000000000000000000000000000000000000000000000815260016004820152600160248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c576104085750f35b81610412916116a5565b6101505780f35b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610150576020610452611b00565b6040519015158152f35b50346101505761046b366114b2565b505080f35b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610150576019546104ab816116e6565b916104b960405193846116a5565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106104fb5760405180610330878261153b565b60016020819261050a856116fe565b8152019201920191906104e6565b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057601c54610553816116e6565b9161056160405193846116a5565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b8383106105a3576040518061033087826115b8565b600260206001926040516105b68161165c565b73ffffffffffffffffffffffffffffffffffffffff86541681526105db85870161184f565b8382015281520192019201919061058e565b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561015057806040517f8466f4150000000000000000000000000000000000000000000000000000000081527f7fffffffffffffffffffffffffffffff0000000000000000000000000000000060048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c576104085750f35b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561015057806040517f98296c54000000000000000000000000000000000000000000000000000000008152700180000000000000000000000000000000600482015270018000000000000000000000000000000060248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c576104085750f35b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561015057806040517f98296c540000000000000000000000000000000000000000000000000000000081526f5555555555555555555555555555555660048201526f5555555555555555555555555555555660248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c576104085750f35b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057601d5461089c816116e6565b916108aa60405193846116a5565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b8383106108ec576040518061033087826115b8565b600260206001926040516108ff8161165c565b73ffffffffffffffffffffffffffffffffffffffff865416815261092485870161184f565b838201528152019201920191906108d7565b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057601a54610971816116e6565b9161097f60405193846116a5565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b8383106109c15760405180610330878261153b565b6001602081926109d0856116fe565b8152019201920191906109ac565b50346101505760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057604435737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610ab557816040517f4c63e56200000000000000000000000000000000000000000000000000000000815282151560048201528181602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c57610aa0575b506102316004356024350283610a988183611801565b910414611bd9565b81610aaa916116a5565b610ab557815f610a82565b5080fd5b503461015057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015057601b54610af4816116e6565b610b0160405191826116a5565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b838310610bd957868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610b6e57505050500390f35b91936020610bc9827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610bb9835160408452604084019061146f565b92015190848184039101526114e6565b9601920192018594939192610b5f565b60026020600192604051610bec8161165c565b610bf5866116fe565b8152610c0285870161184f565b83820152815201920192019190610b31565b5034610dd757610c23366114b2565b9190737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610dd7576040517f4c63e56200000000000000000000000000000000000000000000000000000000815283151560048201525f81602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610dcc57610db4575b50610cbc83610cb6610ca8859685611801565b828506151583860401611838565b92611845565b610d3b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d3857604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201528160248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c5761040857505080f35b50fd5b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d3857604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201528181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561029c5761040857505080f35b610cbc9392505f610dc4916116a5565b5f9192610c95565b6040513d5f823e3d90fd5b5f80fd5b34610dd7575f610edf6fffffffffffffffffffffffffffffffff6001610e1b6f7fffffffffffffffffffffffffffffff610e14366114b2565b9690611c55565b935f80604051610e2a8161165c565b600c81527f426f756e6420726573756c7400000000000000000000000000000000000000006020820152604051610ec981610e9760208201947fb60e72cc00000000000000000000000000000000000000000000000000000000865260406024840152606483019061146f565b8b6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826116a5565b51906a636f6e736f6c652e6c6f675afa50611c55565b905f80604051610eee8161165c565b600c81527f426f756e6420726573756c7400000000000000000000000000000000000000006020820152604051610f8d81610f5b60208201947fb60e72cc00000000000000000000000000000000000000000000000000000000865260406024840152606483019061146f565b886044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826116a5565b51906a636f6e736f6c652e6c6f675afa508060801b908082047001000000000000000000000000000000001490151715610fd15781610a98610fcf9383611801565b005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b34610dd7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610dd75760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b81811061107a5761033085610324818703826116a5565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611063565b34610dd7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610dd75760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b8181106111225761033085610324818703826116a5565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920161110b565b34610dd7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610dd757601e54611188816116e6565b9061119660405192836116a5565b808252602082019081601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106112e457848660405191829160208301906020845251809152604083019060408160051b85010192915f905b82821061120557505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061129b57505050505060208060019296019201920185949391926111f6565b90919293946020806112d7837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08760019603018952895161146f565b9701950193929101611279565b6040516112f08161165c565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054611319816116e6565b9161132760405193846116a5565b81835260208301905f5260205f20905f905b83821061135f5750505050600192826020928360029501528152019201920191906111c7565b60016020819261136e866116fe565b815201930191019091611339565b34610dd7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610dd757601654808252602082019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b8181106113f45761033085610324818703826116a5565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016113dd565b60206040818301928281528451809452019201905f5b8181106114435750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611436565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040910112610dd7576004359060243590565b90602080835192838152019201905f5b8181106115035750505090565b82517fffffffff00000000000000000000000000000000000000000000000000000000168452602093840193909201916001016114f6565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061156d57505050505090565b90919293946020806115a9837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752895161146f565b9701930193019193929061155e565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106115ea57505050505090565b909192939460208061164d837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff8151168452015191818582015201906114e6565b970193019301919392906115db565b6040810190811067ffffffffffffffff82111761167857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761167857604052565b67ffffffffffffffff81116116785760051b60200190565b90604051915f8154908160011c92600183169283156117f7575b6020851084146117ca57848752869390811561178a5750600114611746575b50611744925003836116a5565b565b90505f9291925260205f20905f915b81831061176e575050906020611744928201015f611737565b6020919350806001915483858901015201910190918492611755565b602093506117449592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f611737565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693611718565b811561180b570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b91908203918211610fd157565b811561180b570690565b90604051918281549182825260208201905f5260205f20925f905b806007830110611a6657611744945491818110611a30575b8181106119fa575b8181106119c4575b81811061198e575b818110611958575b818110611922575b8181106118ed575b106118c0575b5003836116a5565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f6118b8565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b1681520193016118b2565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b1681520193016118aa565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b1681520193016118a2565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b16815201930161189a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611892565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b16815201930161188a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611882565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e082015201940192018592939161186a565b91908201809211610fd157565b60085460ff168015611b0f5790565b506040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610dcc575f91611ba7575b50151590565b90506020813d602011611bd1575b81611bc2602093836116a5565b81010312610dd757515f611ba1565b3d9150611bb5565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610dd757604051907f0c9fd581000000000000000000000000000000000000000000000000000000008252151560048201525f81602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610dcc57611c4b5750565b5f611744916116a5565b5f90838311611db25782811091821580611da8575b611da057611c788486611838565b9260018401809411610fd157600383111580611d97575b611d88577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83101580611d7e575b611d6a5785831115611d2157505090611cd984611cde93611838565b611845565b908115611d1c57611cef9250611af3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111610fd15790565b505090565b959492919095611d32575b50505050565b83949550611cd990611d449394611838565b908115611d1c57611d559250611838565b60018101809111610fd157905f808080611d2c565b50509050611d7b9291501990611838565b90565b5082198411611cbd565b5050919050611d7b9250611af3565b50828411611c8f565b509250505090565b5084821115611c6a565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e00006064820152fdfea164736f6c634300081a000a","sourceMap":"170:2082:145:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1016:26:12;170:2082:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;800:17;170:2082;800:17;;;;170:2082;;;1590:14:0;800:17:145;;810:6;;;170:2082;800:17;;170:2082;800:17;;;;170:2082;800:17;;;;;;;;170:2082;558:86:66;;;;;;;;;;;893:5:145;;;;;:::i;:::-;883:15;;:38;;;;;170:2082;883:38;;;;:::i;:::-;170:2082;;883:38;912:5;;;;:::i;:::-;170:2082;920:1;170:2082;;;;;;;883:38;;902:19;883:38;;;;170:2082;800:17;267:8;;;;;170:2082;267:8;;800:17;;;;;:::i;:::-;170:2082;;800:17;;;;170:2082;;;;800:17;170:2082;;1590:14:0;170:2082:145;;1590:14:0;;;;170:2082:145;;;;;;;;;;;;;;;;;2723:18:5;170:2082:145;;;;;;;2723:18:5;170:2082:145;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2349:24:1;;;;170:2082:145;;;1590:14:0;2349:24:1;;558:86:66;170:2082:145;2349:24:1;;192:59;558:86:66;170:2082:145;;;192:59:1;2349:24;;;;170:2082:145;2349:24:1;;;;;;;;170:2082:145;;2349:24:1;;;;;:::i;:::-;170:2082:145;;2349:24:1;170:2082:145;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2575:18:5;170:2082:145;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2575:18:5;170:2082:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2876:18:5;170:2082:145;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2876:18:5;170:2082:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14375:24:1;;;;170:2082:145;;;1590:14:0;14375:24:1;;267:8:145;170:2082;14375:24:1;;192:59;1593:17:145;170:2082;;;192:59:1;14375:24;;;;170:2082:145;14375:24:1;;;;;;;;170:2082:145;;;;;;;;;;;;;;;2349:24:1;;;;170:2082:145;;;1590:14:0;2349:24:1;;1070:86:66;170:2082:145;2349:24:1;;192:59;1070:86:66;170:2082:145;;;192:59:1;2349:24;;;;170:2082:145;2349:24:1;;;;;;;;170:2082:145;;;;;;;;;;;;;;;2349:24:1;;;;170:2082:145;;;1590:14:0;2349:24:1;;558:86:66;170:2082:145;2349:24:1;;192:59;558:86:66;170:2082:145;;;192:59:1;2349:24;;;;170:2082:145;2349:24:1;;;;;;;;170:2082:145;;;;;;;;;;;;;;3653:18:5;170:2082:145;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3653:18:5;170:2082:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3162:18:5;170:2082:145;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3162:18:5;170:2082:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1730:27;;;;170:2082;;;1590:14:0;1730:27:145;;1740:16;;;170:2082;1730:27;;170:2082;1730:27;;170:2082;1730:27;170:2082;1730:27;;;;;;;;170:2082;-1:-1:-1;1859:29:145;170:2082;;;;1070:86:66;170:2082:145;1869:19;170:2082;1070:86:66;1869:19:145;:::i;:::-;1070:86:66;;1859:29:145;;:::i;1730:27::-;;;;;:::i;:::-;170:2082;;1730:27;;;;170:2082;;;;;;;;;;;;;;;;3346:26:5;170:2082:145;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3346:26:5;170:2082:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1017:17;;170:2082;1017:17;;;;170:2082;;1590:14:0;1017:17:145;;1027:6;;;170:2082;1017:17;;170:2082;;1017:17;;;170:2082;1017:17;;;;;;;;170:2082;1104:5;1124;1104;1099:11;1104:5;;;;;:::i;:::-;558:86:66;;;;;;;;;1099:11:145;:::i;:::-;1124:5;;:::i;:::-;;;170:2082;2349:24:1;;;;170:2082:145;;2349:24:1;1590:14:0;2349:24:1;;170:2082:145;2349:24:1;;192:59;170:2082:145;1017:17;170:2082;;192:59:1;2349:24;;;;170:2082:145;2349:24:1;;;;;;;;1120:106:145;;170:2082;;2349:24:1;170:2082:145;;1120:106;170:2082;2349:24:1;;;;170:2082:145;;2349:24:1;1590:14:0;2349:24:1;;170:2082:145;2349:24:1;;192:59;1213:1:145;1017:17;170:2082;;192:59:1;2349:24;;;;170:2082:145;2349:24:1;;;;;;;;1120:106:145;;170:2082;;1017:17;1124:5;1017:17;;;170:2082;1017:17;;;:::i;:::-;170:2082;1017:17;;;;;170:2082;;1590:14:0;170:2082:145;1590:14:0;;;;;1017:17:145;170:2082;;;;;;;;3033:19:11;170:2082:145;2099:1;3033:19:11;170:2082:145;;;;:::i;:::-;2010:46;;3033:19:11;:::i;:::-;170:2082:145;;;;;;;;:::i;:::-;;;;;;;;;;;10418:54:11;;170:2082:145;;10418:54:11;;;;;;170:2082:145;10418:54:11;;;170:2082:145;;;;;;:::i;:::-;;;;;192:59:1;10418:54:11;170:2082:145;10418:54:11;;;;;;:::i;:::-;170:2082:145;10003:159:11;779:42;10003:159;;;3033:19;:::i;:::-;170:2082:145;;;;;;;;:::i;:::-;;;;;;;;;;;10418:54:11;;170:2082:145;;10418:54:11;;;;;;170:2082:145;10418:54:11;;;170:2082:145;;;;;;:::i;:::-;;;;;192:59:1;10418:54:11;170:2082:145;10418:54:11;;;;;;:::i;:::-;170:2082:145;10003:159:11;779:42;10003:159;;;1070:86:66;;;267:8:145;;;;;;;;;;;;2220:22;;2210:32;2220:22;;;:::i;2210:32::-;170:2082;267:8;;170:2082;267:8;;170:2082;267:8;10418:54:11;170:2082:145;267:8;170:2082;;;;;;;;;;;;;;;3501:18:5;170:2082:145;;;;;;;3501:18:5;170:2082:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:5;170:2082:145;;;;;;;3794:16:5;170:2082:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3948:19:5;170:2082:145;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;3948:19:5;170:2082:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3018:16:5;170:2082:145;;;;;;;;3018:16:5;170:2082:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;170:2082:145;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;170:2082:145;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;170:2082:145;;;;;-1:-1:-1;170:2082:145;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;170:2082:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;170:2082:145;;;;;-1:-1:-1;170:2082:145;;-1:-1:-1;170:2082:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;170:2082:145;;;;;-1:-1:-1;170:2082:145;;;;;;;;267:8;;;;;;;:::o;:::-;;;;;;;;;;1590:14:0;;;;;;;;;;:::o;:::-;;;;;;;:::o;170:2082:145:-;;;;;;;;;;;;;;;;-1:-1:-1;170:2082:145;;-1:-1:-1;170:2082:145;;-1:-1:-1;170:2082:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1590:14:0;170:2082:145;;;;;;;;1590:14:0;170:2082:145;;1590:14:0;170:2082:145;1590:14:0;;;;170:2082:145;;;;;;;;1590:14:0;170:2082:145;;1590:14:0;170:2082:145;1590:14:0;170:2082:145;1590:14:0;;170:2082:145;;;;;;;;1590:14:0;170:2082:145;;1590:14:0;170:2082:145;1590:14:0;170:2082:145;1590:14:0;;170:2082:145;;;;;;;;1590:14:0;170:2082:145;;1590:14:0;170:2082:145;1590:14:0;170:2082:145;1590:14:0;;170:2082:145;;;;;;;;1590:14:0;170:2082:145;;1590:14:0;170:2082:145;1590:14:0;170:2082:145;1590:14:0;;170:2082:145;;;;;;;;1590:14:0;170:2082:145;;1590:14:0;170:2082:145;1590:14:0;170:2082:145;1590:14:0;;170:2082:145;;;;;;;;1590:14:0;170:2082:145;;1590:14:0;170:2082:145;1590:14:0;;;170:2082:145;;;;;;;;;;;;;;;;;;;;1590:14:0;;;;170:2082:145;;;1590:14:0;;170:2082:145;1590:14:0;;170:2082:145;;;;1590:14:0;;170:2082:145;1590:14:0;;170:2082:145;;;;1590:14:0;;170:2082:145;1590:14:0;;170:2082:145;;;;1590:14:0;;170:2082:145;1590:14:0;;170:2082:145;;;;1590:14:0;;170:2082:145;1590:14:0;;170:2082:145;;;;1590:14:0;;170:2082:145;1590:14:0;;170:2082:145;;;;1590:14:0;;170:2082:145;;;;;;;;;;;;;;;;;;;;;;;;:::o;1243:204:1:-;1302:7;170:2082:145;;;;;;;1325:14:1;:::o;1298:143::-;170:2082:145;;;1590:14:0;1377:39:1;;170:2082:145;1377:39:1;;;170:2082:145;192:59:1;;;;;;1377:39;;;170:2082:145;1377:39:1;;;;;;;170:2082:145;1377:39:1;;;1298:143;1377:53;;;1370:60;:::o;1377:39::-;;;192:59;1377:39;;192:59;1377:39;;;;;;192:59;1377:39;;;:::i;:::-;;;192:59;;;;;1377:39;;;;;;-1:-1:-1;1377:39:1;;1594:89;170:2082:145;1657:19:1;;;;170:2082:145;;1657:19:1;1590:14:0;1657:19:1;;170:2082:145;;1657:19:1;;;170:2082:145;-1:-1:-1;1657:19:1;;;170:2082:145;1657:19:1;;;;;;;;1594:89;:::o;1657:19::-;-1:-1:-1;1657:19:1;;;:::i;1646:1263:11:-;170:2082:145;1764:10:11;;;;170:2082:145;;2070:8:11;;;;;;:20;;;1646:1263;2066:34;;2126:9;;;;:::i;:::-;170:2082:145;2138:1:11;170:2082:145;;;;;;;2334:1:11;2329:6;;;:18;;;1646:1263;2325:38;;1590:14:0;2377:20:11;;;:46;;;1646:1263;2373:82;;2555:7;;;;;;2593;;;;;2628:11;2593:7;;:::i;:::-;2628:11;:::i;:::-;2657:8;;;2653:24;;2700:9;;;;:::i;:::-;1142:78;1590:14:0;;;;;;;2551:352:11;1646:1263::o;2653:24::-;2667:10;;;:::o;2551:352::-;2730:173;;;;;;;;2551:352;;;;;1646:1263::o;2730:173::-;2772:7;;;;;;2807:11;2772:7;;;:::i;2807:11::-;2836:8;;;2832:24;;2879:9;;;;:::i;:::-;2138:1;170:2082:145;;;;;;;2730:173:11;;;;;;;2373:82;1590:14:0;;;;2432:23:11;1590:14:0;;;;2432:23:11;;:::i;:::-;2425:30;:::o;2377:46::-;1590:14:0;;;2401:22:11;;2377:46;;2325:38;2356:7;;;;;;;;;:::i;2329:18::-;2339:8;;;;2329:18;;2066:34;2092:8;;;;;;:::o;2070:20::-;2082:8;;;;;2070:20;;170:2082:145;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_divRoundingUp_RoundsUp()":"9951189e","test_divRoundingUp_maxInput()":"dff6ca75","test_divRoundingUp_zeroDoesNotRevert(uint256)":"e5dee4ca","test_fuzz_divRoundingUp(uint256,uint256)":"e57fa881","test_fuzz_simpleMulDiv_bounded(uint256,uint256)":"48158677","test_fuzz_simpleMulDiv_succeeds(uint256,uint256,uint256)":"6c580215","test_invariant_divRoundingUp(uint256,uint256)":"57de9373","test_simpleMulDiv_noOverflow()":"9ebc4893","test_simpleMulDiv_succeeds()":"9a5a5ff6","test_simpleMulDiv_zeroDoesNotRevert(uint256,uint256)":"b80a7777"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_divRoundingUp_RoundsUp\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_divRoundingUp_maxInput\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"test_divRoundingUp_zeroDoesNotRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"test_fuzz_divRoundingUp\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"test_fuzz_simpleMulDiv_bounded\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"test_fuzz_simpleMulDiv_succeeds\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"test_invariant_divRoundingUp\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_simpleMulDiv_noOverflow\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_simpleMulDiv_succeeds\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"test_simpleMulDiv_zeroDoesNotRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/libraries/UnsafeMath.t.sol\":\"UnsafeMathTest\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":44444444},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=lib/openzeppelin-contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":solmate/=lib/solmate/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x7dd11ac4db798fa196e00a0cfa288ce984acac881f1f34de03fe3187deed58de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c15fb03d5545e2d8d3948661596410edec5ec278a73988914b14a05d0d54557\",\"dweb:/ipfs/QmWGjkLgp4wSrTrFxF8cmhghaXQp5VyXYQvWE1DUTPL4rG\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xc28b654cfbcafb8f7688c8dc69134921bb4841c82ddc2e5f27bcf5d8eb2177cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f1875b52fb32efefdc467d9566bf93d72dad036547ce6955e4f7a318eea9d6f\",\"dweb:/ipfs/QmbgbSX8JajLzTyWcPqrYAcsQcHNuGTFTKdQ3HNTvyRgdj\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x4a5853bb9688c4e1c65626036cddd8ea2af84ef1046b704ddc3782d84a892410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c1024e6aac9657312fcfcf5c3dee62c22edf9f74a1065e6924c4ec710ecafa\",\"dweb:/ipfs/QmRNURoTUkd6DiZnf8yY8o3stJpVQBifopdSpQgP9RhvRr\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51d822417db259b59eec2dfb7859285cef983a26b5d4fba20e1addabccc8734e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://0e3b5abe0173ee6e479e4248eb4ee3a4374f7e08fb2848d93f5c2cf5e95214f1\",\"dweb:/ipfs/QmbUBD4NLFCuR6WHVx5unXH2uWHEhtADLcFrUwyev8iLrD\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xbfbb755bb379f58b97699f7cda0e9a2b9113daaa072e41b280a5ce6a3bff44c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ae0c31d29db14d6a0e9b62d33d550feb307f48a6f45068901a013321f337f87\",\"dweb:/ipfs/QmX25DVXW6XZDvRm6SNBGCWrZQ6oNhdq5CmgtVocvsUdwv\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/libraries/UnsafeMath.sol\":{\"keccak256\":\"0xa6e55e0a43a15df2df471d9972cd48f613d07c663ecb8bbeaf7623f6f99bcce4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02ea6e13879fc5a5f35149a2f1cd8af3a1f0877ff69101dad53841d16f515572\",\"dweb:/ipfs/QmcpL4gdG6hL2w1wqs2Vw4J1EFCwBs9T1Qd4p16CtECQkn\"]},\"test/libraries/UnsafeMath.t.sol\":{\"keccak256\":\"0x86edf5bc17e627c5a1901513b9598182e47271d1a699d342576a7fdc1d9e984a\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b20e6faad8028d84bd19022e70c779c25490332c72041abbb6135c1542bcf72d\",\"dweb:/ipfs/QmSGCRPPjFez677L8kTdJbYpA6nVdUkw43zToPgMbJ2Pq3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"excludedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzArtifactSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"string","name":"artifact","type":"string"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"test_divRoundingUp_RoundsUp"},{"inputs":[],"stateMutability":"pure","type":"function","name":"test_divRoundingUp_maxInput"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"}],"stateMutability":"pure","type":"function","name":"test_divRoundingUp_zeroDoesNotRevert"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"}],"stateMutability":"pure","type":"function","name":"test_fuzz_divRoundingUp"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"stateMutability":"pure","type":"function","name":"test_fuzz_simpleMulDiv_bounded"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"stateMutability":"pure","type":"function","name":"test_fuzz_simpleMulDiv_succeeds"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"}],"stateMutability":"pure","type":"function","name":"test_invariant_divRoundingUp"},{"inputs":[],"stateMutability":"pure","type":"function","name":"test_simpleMulDiv_noOverflow"},{"inputs":[],"stateMutability":"pure","type":"function","name":"test_simpleMulDiv_succeeds"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"stateMutability":"pure","type":"function","name":"test_simpleMulDiv_zeroDoesNotRevert"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/=node_modules/@ensdomains/","@openzeppelin/=lib/openzeppelin-contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","openzeppelin-contracts/=lib/openzeppelin-contracts/","solmate/=lib/solmate/"],"optimizer":{"enabled":true,"runs":44444444},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"test/libraries/UnsafeMath.t.sol":"UnsafeMathTest"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270","urls":["bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe","dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x7dd11ac4db798fa196e00a0cfa288ce984acac881f1f34de03fe3187deed58de","urls":["bzz-raw://2c15fb03d5545e2d8d3948661596410edec5ec278a73988914b14a05d0d54557","dweb:/ipfs/QmWGjkLgp4wSrTrFxF8cmhghaXQp5VyXYQvWE1DUTPL4rG"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xc28b654cfbcafb8f7688c8dc69134921bb4841c82ddc2e5f27bcf5d8eb2177cf","urls":["bzz-raw://3f1875b52fb32efefdc467d9566bf93d72dad036547ce6955e4f7a318eea9d6f","dweb:/ipfs/QmbgbSX8JajLzTyWcPqrYAcsQcHNuGTFTKdQ3HNTvyRgdj"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d","urls":["bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391","dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500","urls":["bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974","dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc","urls":["bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57","dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861","urls":["bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3","dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x4a5853bb9688c4e1c65626036cddd8ea2af84ef1046b704ddc3782d84a892410","urls":["bzz-raw://09c1024e6aac9657312fcfcf5c3dee62c22edf9f74a1065e6924c4ec710ecafa","dweb:/ipfs/QmRNURoTUkd6DiZnf8yY8o3stJpVQBifopdSpQgP9RhvRr"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51d822417db259b59eec2dfb7859285cef983a26b5d4fba20e1addabccc8734e","urls":["bzz-raw://0e3b5abe0173ee6e479e4248eb4ee3a4374f7e08fb2848d93f5c2cf5e95214f1","dweb:/ipfs/QmbUBD4NLFCuR6WHVx5unXH2uWHEhtADLcFrUwyev8iLrD"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xbfbb755bb379f58b97699f7cda0e9a2b9113daaa072e41b280a5ce6a3bff44c9","urls":["bzz-raw://5ae0c31d29db14d6a0e9b62d33d550feb307f48a6f45068901a013321f337f87","dweb:/ipfs/QmX25DVXW6XZDvRm6SNBGCWrZQ6oNhdq5CmgtVocvsUdwv"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11","urls":["bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab","dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"],"license":"MIT"},"src/libraries/UnsafeMath.sol":{"keccak256":"0xa6e55e0a43a15df2df471d9972cd48f613d07c663ecb8bbeaf7623f6f99bcce4","urls":["bzz-raw://02ea6e13879fc5a5f35149a2f1cd8af3a1f0877ff69101dad53841d16f515572","dweb:/ipfs/QmcpL4gdG6hL2w1wqs2Vw4J1EFCwBs9T1Qd4p16CtECQkn"],"license":"MIT"},"test/libraries/UnsafeMath.t.sol":{"keccak256":"0x86edf5bc17e627c5a1901513b9598182e47271d1a699d342576a7fdc1d9e984a","urls":["bzz-raw://b20e6faad8028d84bd19022e70c779c25490332c72041abbb6135c1542bcf72d","dweb:/ipfs/QmSGCRPPjFez677L8kTdJbYpA6nVdUkw43zToPgMbJ2Pq3"],"license":"UNLICENSED"}},"version":1},"id":145}