tx · 5JR5iSJeDCZg9bdFJkdrMY6wSc66zSs1fuqcW6jntwo6

3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp:  +0.00081547 WETH
———————————————————————————————————:  +9.361883 XTN.
3P9aL9B3fBYxN2SgJ2gvKRSmopTncVQNpCp:  +0.26171950 WETH
———————————————————————————————————:  -115.35851854 VIRES
———————————————————————————————————:  -0.00500000 Waves
3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm:  -0.26269310 WETH
3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg:  +0.00015813 WETH
———————————————————————————————————:  +2.674823 XTN.
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ:  -12.036706 XTN.
3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd:  +115.35851854 VIRES

2023.04.14 02:15 [3599062] transfer 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp routingTrade() 0.00026199 WETH
2023.04.14 02:15 [3599062] transfer 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj > 3P9aL9B3fBYxN2SgJ2gvKRSmopTncVQNpCp routingTrade() 0.26171950 WETH
2023.04.14 02:15 [3599062] transfer 3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg callFunction() 0.00015813 WETH
2023.04.14 02:15 [3599062] transfer 3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp callFunction() 0.00055348 WETH
2023.04.14 02:15 [3599062] transfer 3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm > 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj callFunction() 0.26198149 WETH
2023.04.14 02:15 [3599062] invoke 3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm > 3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ lockNeutrino() 4431.291515 XTN.
2023.04.14 02:15 [3599062] invoke 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE > 3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm stakeUnstake()
2023.04.14 02:15 [3599062] invoke 3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange()
2023.04.14 02:15 [3599062] invoke 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj > 3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm callFunction() 4431.291515 XTN.
2023.04.14 02:15 [3599062] transfer 3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg callFunction() 2.674823 XTN.
2023.04.14 02:15 [3599062] transfer 3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp callFunction() 9.361883 XTN.
2023.04.14 02:15 [3599062] transfer 3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd > 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj callFunction() 4431.291515 XTN.
2023.04.14 02:15 [3599062] transfer 3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ > 3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd unlockNeutrino() 4443.328221 XTN.
2023.04.14 02:15 [3599062] invoke 3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd > 3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ unlockNeutrino()
2023.04.14 02:15 [3599062] invoke 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE > 3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd stakeUnstake()
2023.04.14 02:15 [3599062] invoke 3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange()
2023.04.14 02:15 [3599062] invoke 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj > 3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd callFunction() 115.35851854 VIRES
2023.04.14 02:15 [3599062] invoke 3P9aL9B3fBYxN2SgJ2gvKRSmopTncVQNpCp > 3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj routingTrade() 115.35851854 VIRES

3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm: B_asset_balance: 143427792192 -> 147859083707
3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm: A_asset_balance: 879431325 -> 853162015
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p: 103103026421824 -> 103107457713339
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s__stats__activeTotalLocked: 103103026421824 -> 103107457713339
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s__stats__activeUsersCount: 4344 == 4344
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s__stats__locksCount: 383525 -> 383526
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm: 143427792192 -> 147859083707
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__paramByUser__3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm__start: 3356250 == 3356250
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__paramByUser__3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm__amount: 143427792192 -> 147859083707
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__userRwdFromDepNum__3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm: 1 == 1
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__rwd__3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p: 0 == 0
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s%s__history__stake__3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm__5JR5iSJeDCZg9bdFJkdrMY6wSc66zSs1fuqcW6jntwo6: "%s%d%d%d%d__3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm__3599062__1681427755796__143427792192__147859083707"
3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd: B_asset_balance: 61798614086 -> 57355285865
3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd: A_asset_balance: 148377405125 -> 159913256979
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p: 103107469750045 -> 103103026421824
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s__stats__activeTotalLocked: 103107469750045 -> 103103026421824
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s__stats__activeUsersCount: 4344 == 4344
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s__stats__locksCount: 383525 == 383525
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd: 61798614086 -> 57355285865
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__paramByUser__3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd__start: 3356248 == 3356248
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__paramByUser__3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd__amount: 61798614086 -> 57355285865
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__userRwdFromDepNum__3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd: 1 == 1
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s__rwd__3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p: 0 == 0
3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ: %s%s%s%s__history__unstake__3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd__5JR5iSJeDCZg9bdFJkdrMY6wSc66zSs1fuqcW6jntwo6: "%s%d%d%d%d__3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd__3599062__1681427755796__61798614086__57355285865"

{ "type": 16, "id": "5JR5iSJeDCZg9bdFJkdrMY6wSc66zSs1fuqcW6jntwo6", "fee": 500000, "feeAssetId": null, "timestamp": 1681427792921, "version": 2, "chainId": 87, "sender": "3P9aL9B3fBYxN2SgJ2gvKRSmopTncVQNpCp", "senderPublicKey": "3yFMfWX3gGuMrowTFi3mEGuPnRx55j4uAU6GzCCDApRe", "proofs": [ "3oyig5X8jNp8NgEtcFkAW51CJ4ua55zGBM3DYPTKCLu2WmQ2efbcBEJzv9VHQN2KX165cVNnY4oDhJPUufZuNLdn" ], "dApp": "3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj", "payment": [ { "amount": 11535851854, "assetId": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p" } ], "call": { "function": "routingTrade", "args": [ { "type": "list", "value": [ { "type": "string", "value": "3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd" }, { "type": "string", "value": "3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm" } ] }, { "type": "list", "value": [ { "type": "string", "value": "cpmm" }, { "type": "string", "value": "cpmm" } ] }, { "type": "list", "value": [ { "type": "integer", "value": 1 }, { "type": "integer", "value": 26171950 } ] }, { "type": "list", "value": [ { "type": "integer", "value": 0 }, { "type": "integer", "value": 0 } ] }, { "type": "list", "value": [ { "type": "string", "value": "A_asset_balance" }, { "type": "string", "value": "B_asset_balance" }, { "type": "string", "value": "B_asset_balance" }, { "type": "string", "value": "A_asset_balance" } ] }, { "type": "integer", "value": 26145778 } ] }, "height": 3599062, "applicationStatus": "succeeded", "spentComplexity": 3251, "stateChanges": { "data": [], "transfers": [ { "address": "3P9aL9B3fBYxN2SgJ2gvKRSmopTncVQNpCp", "asset": "474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu", "amount": 26171950 }, { "address": "3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp", "asset": "474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu", "amount": 26199 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd", "call": { "function": "callFunction", "args": [ { "type": "String", "value": "exchange" }, { "type": "Array", "value": [ { "type": "String", "value": "1" } ] } ] }, "payment": [ { "assetId": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p", "amount": 11535851854 } ], "stateChanges": { "data": [ { "key": "A_asset_balance", "type": "integer", "value": 159913256979 }, { "key": "B_asset_balance", "type": "integer", "value": 57355285865 } ], "transfers": [ { "address": "3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 4431291515 }, { "address": "3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 9361883 }, { "address": "3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 2674823 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE", "call": { "function": "exchange", "args": [ { "type": "ByteVector", "value": "3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj" }, { "type": "Array", "value": [ { "type": "String", "value": "1" } ] }, { "type": "Array", "value": [ { "type": "Int", "value": 11535851854 } ] }, { "type": "Array", "value": [ { "type": "ByteVector", "value": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p" } ] } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd", "call": { "function": "stakeUnstake", "args": [ { "type": "Boolean", "value": false }, { "type": "Int", "value": 4443328221 }, { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ", "call": { "function": "unlockNeutrino", "args": [ { "type": "Int", "value": 4443328221 }, { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" } ] }, "payment": [], "stateChanges": { "data": [ { "key": "%s%s%s%s__history__unstake__3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd__5JR5iSJeDCZg9bdFJkdrMY6wSc66zSs1fuqcW6jntwo6", "type": "string", "value": "%s%d%d%d%d__3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd__3599062__1681427755796__61798614086__57355285865" }, { "key": "%s%s%s__rwd__3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "type": "integer", "value": 0 }, { "key": "%s%s%s__userRwdFromDepNum__3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd", "type": "integer", "value": 1 }, { "key": "%s%s%s__paramByUser__3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd__amount", "type": "integer", "value": 57355285865 }, { "key": "%s%s%s__paramByUser__3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd__start", "type": "integer", "value": 3356248 }, { "key": "rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd", "type": "integer", "value": 57355285865 }, { "key": "%s%s__stats__locksCount", "type": "integer", "value": 383525 }, { "key": "%s%s__stats__activeUsersCount", "type": "integer", "value": 4344 }, { "key": "%s%s__stats__activeTotalLocked", "type": "integer", "value": 103103026421824 }, { "key": "rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "type": "integer", "value": 103103026421824 } ], "transfers": [ { "address": "3PJ48P3p2wvWUjgQaQiZ2cFbr8qmxMokBGd", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 4443328221 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } } ] } } ] } } ] } }, { "dApp": "3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm", "call": { "function": "callFunction", "args": [ { "type": "String", "value": "exchange" }, { "type": "Array", "value": [ { "type": "String", "value": "26171950" } ] } ] }, "payment": [ { "assetId": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 4431291515 } ], "stateChanges": { "data": [ { "key": "A_asset_balance", "type": "integer", "value": 853162015 }, { "key": "B_asset_balance", "type": "integer", "value": 147859083707 } ], "transfers": [ { "address": "3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj", "asset": "474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu", "amount": 26198149 }, { "address": "3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp", "asset": "474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu", "amount": 55348 }, { "address": "3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg", "asset": "474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu", "amount": 15813 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE", "call": { "function": "exchange", "args": [ { "type": "ByteVector", "value": "3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj" }, { "type": "Array", "value": [ { "type": "String", "value": "26171950" } ] }, { "type": "Array", "value": [ { "type": "Int", "value": 4431291515 } ] }, { "type": "Array", "value": [ { "type": "ByteVector", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" } ] } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm", "call": { "function": "stakeUnstake", "args": [ { "type": "Boolean", "value": true }, { "type": "Int", "value": 4431291515 }, { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ", "call": { "function": "lockNeutrino", "args": [] }, "payment": [ { "assetId": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 4431291515 } ], "stateChanges": { "data": [ { "key": "%s%s%s%s__history__stake__3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm__5JR5iSJeDCZg9bdFJkdrMY6wSc66zSs1fuqcW6jntwo6", "type": "string", "value": "%s%d%d%d%d__3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm__3599062__1681427755796__143427792192__147859083707" }, { "key": "%s%s%s__rwd__3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm__DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "type": "integer", "value": 0 }, { "key": "%s%s%s__userRwdFromDepNum__3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm", "type": "integer", "value": 1 }, { "key": "%s%s%s__paramByUser__3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm__amount", "type": "integer", "value": 147859083707 }, { "key": "%s%s%s__paramByUser__3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm__start", "type": "integer", "value": 3356250 }, { "key": "rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm", "type": "integer", "value": 147859083707 }, { "key": "%s%s__stats__locksCount", "type": "integer", "value": 383526 }, { "key": "%s%s__stats__activeUsersCount", "type": "integer", "value": 4344 }, { "key": "%s%s__stats__activeTotalLocked", "type": "integer", "value": 103107457713339 }, { "key": "rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "type": "integer", "value": 103107457713339 } ], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } } ] } } ] } } ] } } ] } }

github/deemru/w8io/3ef1775 
25.63 ms