2024.05.01 15:16 [4152966] exchange 3PKj9Jz6ZGgPF7xZ4GTFFdbcWzmhrVX4X4p > 3PKj9Jz6ZGgPF7xZ4GTFFdbcWzmhrVX4X4p 1.00000000 EDIX/Waves 39.07225517 Waves 2024.05.01 15:16 [4152966] exchange 3PKj9Jz6ZGgPF7xZ4GTFFdbcWzmhrVX4X4p > 3PKj9Jz6ZGgPF7xZ4GTFFdbcWzmhrVX4X4p 1.00000000 EDIX/Waves 39.07225517 EDIX 2024.05.01 15:16 [4152966] matcher MATCHER > 3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu 0.07514451 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg exchange() 0.00130358 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp exchange() 0.00456254 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA exchange() 3.32949110 Waves 2024.05.01 15:16 [4152966] lease 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() 61190.09319685 Waves 2024.05.01 15:16 [4152966] unlease 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() +61193.42855407 Waves 2024.05.01 15:16 [4152966] invoke 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE > 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG stakeUnstake() 2024.05.01 15:16 [4152966] invoke 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange() 2024.05.01 15:16 [4152966] invoke 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA > 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG exchange() 200.000000 XTN. 2024.05.01 15:16 [4152966] transfer 3PAX7fA4CAYCnJ1y7U153z8CP8D9h7UKnD8 > 3P3Lg6Y4RNd1bveqDyUaqPjtTEXbeaikRAL 166.06886435 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg exchange() 0.00130372 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp exchange() 0.00456304 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA exchange() 3.32985448 Waves 2024.05.01 15:16 [4152966] lease 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() 61193.42855407 Waves 2024.05.01 15:16 [4152966] unlease 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() +61196.76427531 Waves 2024.05.01 15:16 [4152966] invoke 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE > 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG stakeUnstake() 2024.05.01 15:16 [4152966] invoke 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange() 2024.05.01 15:16 [4152966] invoke 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA > 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG exchange() 200.000000 XTN. 2024.05.01 15:16 [4152966] transfer 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh swap() 0.28800000 Waves.Exchange 2024.05.01 15:16 [4152966] transfer 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu swap() 0.28800000 Waves.Exchange 2024.05.01 15:16 [4152966] transfer 3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh > 3P91ABTk7MVab5SqaVyMKGivfZySTqdf98N calculateAmountOutForSwapAndSendTokens() 0.75796200 Waves 2024.05.01 15:16 [4152966] transfer 3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh > 3PCoDJZ4R95qFdiAwdhjf9y2jtTiskJ9STo calculateAmountOutForSwapAndSendTokens() 0.00204582 sWAVES 2024.05.01 15:16 [4152966] transfer 3P4dXbaBwREskBrTvx3UjvSCmJWcnqpnJVn > 3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh withdraw() 0.60636960 Waves 2024.05.01 15:16 [4152966] transfer 3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV > 3P4dXbaBwREskBrTvx3UjvSCmJWcnqpnJVn withdraw() 0.60636960 Waves 2024.05.01 15:16 [4152966] burn 3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV > SELF withdraw() 0.54277066 sWAVES 2024.05.01 15:16 [4152966] transfer 3PHTxmSNQsrZocZRAWidNbdcxqRpzHiK5Mt > 3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV unstake() 0.60636960 Waves 2024.05.01 15:16 [4152966] lease 3PHTxmSNQsrZocZRAWidNbdcxqRpzHiK5Mt > 3PDETXtiaErZncMduS8h9G6aopcjT7wheqj unstake() 1719548.54832075 Waves 2024.05.01 15:16 [4152966] unlease 3PHTxmSNQsrZocZRAWidNbdcxqRpzHiK5Mt > 3PDETXtiaErZncMduS8h9G6aopcjT7wheqj unstake() +1719549.15469035 Waves 2024.05.01 15:16 [4152966] invoke 3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV > 3PHTxmSNQsrZocZRAWidNbdcxqRpzHiK5Mt unstake() 2024.05.01 15:16 [4152966] invoke 3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV > 3PHTxmSNQsrZocZRAWidNbdcxqRpzHiK5Mt claimReward() 2024.05.01 15:16 [4152966] invoke 3P4dXbaBwREskBrTvx3UjvSCmJWcnqpnJVn > 3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV withdraw() 0.54277066 sWAVES 2024.05.01 15:16 [4152966] invoke 3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh > 3P4dXbaBwREskBrTvx3UjvSCmJWcnqpnJVn withdraw() 0.54277066 sWAVES 2024.05.01 15:16 [4152966] invoke 3P4dXbaBwREskBrTvx3UjvSCmJWcnqpnJVn > 3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV getRate() 2024.05.01 15:16 [4152966] invoke 3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh > 3P4dXbaBwREskBrTvx3UjvSCmJWcnqpnJVn getRate() 2024.05.01 15:16 [4152966] invoke 3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolLeaseConfigREADONLY() 2024.05.01 15:16 [4152966] invoke 3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolLeaseConfigREADONLY() 2024.05.01 15:16 [4152966] invoke 3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getSwapContractREADONLY() 2024.05.01 15:16 [4152966] invoke 3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv isPoolSwapDisabledREADONLY() 2024.05.01 15:16 [4152966] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh calculateAmountOutForSwapAndSendTokens() 143.42400000 Waves.Exchange 2024.05.01 15:16 [4152966] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getSwapFeeREADONLY() 2024.05.01 15:16 [4152966] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolStatusREADONLY() 2024.05.01 15:16 [4152966] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolAddressFromLpAssetREADONLY() 2024.05.01 15:16 [4152966] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getLpAssetFromPoolAssetsREADONLY() 2024.05.01 15:16 [4152966] invoke 3P91ABTk7MVab5SqaVyMKGivfZySTqdf98N > 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 swap() 144.00000000 Waves.Exchange 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg exchange() 0.00130387 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp exchange() 0.00456354 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA exchange() 3.33021791 Waves 2024.05.01 15:16 [4152966] lease 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() 61196.76427531 Waves 2024.05.01 15:16 [4152966] unlease 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() +61200.10036063 Waves 2024.05.01 15:16 [4152966] invoke 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE > 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG stakeUnstake() 2024.05.01 15:16 [4152966] invoke 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange() 2024.05.01 15:16 [4152966] invoke 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA > 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG exchange() 200.000000 XTN. 2024.05.01 15:16 [4152966] transfer 3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU > 3PAX7fA4CAYCnJ1y7U153z8CP8D9h7UKnD8 swap() 166.13936453 Waves 2024.05.01 15:16 [4152966] transfer 3PBHyEwmERR1CEkrTNbPj2bgyisTfPRqfee > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg exchange() 0.00010425 Puzzle 2024.05.01 15:16 [4152966] transfer 3PBHyEwmERR1CEkrTNbPj2bgyisTfPRqfee > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp exchange() 0.00036488 Puzzle 2024.05.01 15:16 [4152966] transfer 3PBHyEwmERR1CEkrTNbPj2bgyisTfPRqfee > 3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW exchange() 0.17271067 Puzzle 2024.05.01 15:16 [4152966] invoke 3PBHyEwmERR1CEkrTNbPj2bgyisTfPRqfee > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange() 2024.05.01 15:16 [4152966] invoke 3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW > 3PBHyEwmERR1CEkrTNbPj2bgyisTfPRqfee exchange() 28.326963 XTN. 2024.05.01 15:16 [4152966] invoke 3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU > 3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW topUpReward() 28.326963 XTN. 2024.05.01 15:16 [4152966] transfer 3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB > 3PFWAVKmXjfHXyzJb12jCbhP4Uhi9t4uWiD swap() 0.231180 XTN. 2024.05.01 15:16 [4152966] transfer 3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB > 3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk swap() 0.057795 XTN. 2024.05.01 15:16 [4152966] transfer 3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB > 3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU swap() 28.326963 XTN. 2024.05.01 15:16 [4152966] invoke 3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU > 3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB swap() 0.48320545 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg exchange() 0.10057700 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp exchange() 0.35201951 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU exchange() 166.62256998 Waves 2024.05.01 15:16 [4152966] lease 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() 61200.10036063 Waves 2024.05.01 15:16 [4152966] unlease 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() +61367.17552712 Waves 2024.05.01 15:16 [4152966] invoke 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE > 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG stakeUnstake() 2024.05.01 15:16 [4152966] invoke 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange() 2024.05.01 15:16 [4152966] invoke 3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU > 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG exchange() 10000.000000 XTN. 2024.05.01 15:16 [4152966] invoke 3PAX7fA4CAYCnJ1y7U153z8CP8D9h7UKnD8 > 3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU swap() 10000.000000 XTN. 2024.05.01 15:16 [4152966] exchange 3PAt3jMTdmm6RiHLWMpZnfbTAP8LovF6WGF > 3PKx9BqhMB1m5ChtrxdmCZB3UZwQLbAz7qs 0.00000930 LUCKCOIN/Waves 0.13999999 Waves 2024.05.01 15:16 [4152966] exchange 3PKx9BqhMB1m5ChtrxdmCZB3UZwQLbAz7qs > 3PAt3jMTdmm6RiHLWMpZnfbTAP8LovF6WGF 0.00000930 LUCKCOIN/Waves 15053.76236560 LUCKCOIN 2024.05.01 15:16 [4152966] matcher MATCHER > 3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu 0.00727924 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg exchange() 0.00131115 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp exchange() 0.00458903 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA exchange() 3.34882185 Waves 2024.05.01 15:16 [4152966] lease 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() 61367.17552712 Waves 2024.05.01 15:16 [4152966] unlease 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() +61370.53024915 Waves 2024.05.01 15:16 [4152966] invoke 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE > 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG stakeUnstake() 2024.05.01 15:16 [4152966] invoke 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange() 2024.05.01 15:16 [4152966] invoke 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA > 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG exchange() 200.000000 XTN. 2024.05.01 15:16 [4152966] transfer 3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X > 3PAX7fA4CAYCnJ1y7U153z8CP8D9h7UKnD8 borrow() 10000.000000 XTN. 2024.05.01 15:16 [4152966] invoke 3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X > 3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X getUserCollateral() 2024.05.01 15:16 [4152966] invoke 3PAX7fA4CAYCnJ1y7U153z8CP8D9h7UKnD8 > 3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X borrow() 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg exchange() 0.00131129 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp exchange() 0.00458954 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA exchange() 3.34918841 Waves 2024.05.01 15:16 [4152966] lease 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() 61370.53024915 Waves 2024.05.01 15:16 [4152966] unlease 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() +61373.88533839 Waves 2024.05.01 15:16 [4152966] invoke 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE > 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG stakeUnstake() 2024.05.01 15:16 [4152966] invoke 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange() 2024.05.01 15:16 [4152966] invoke 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA > 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG exchange() 200.000000 XTN. 2024.05.01 15:16 [4152966] transfer 3PL5q6jRdewizJ8DcUkPCNUKSKL1GQPXKAU > 3P8dgVt3zMKwcYCyTG3Ri4E6rmpAZjWKdTW 1426.202855 XTN. 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg exchange() 0.00131144 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp exchange() 0.00459004 Waves 2024.05.01 15:16 [4152966] transfer 3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG > 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA exchange() 3.34955501 Waves...
github/deemru/w8io/786bc32 11.49 ms ◑