For the six months ended July 31, 2026 and 2025, changes in the components of accumulated other comprehensive income (loss) were as follows (in thousands): | | | | | | | | | | | | | | | | | | | Foreign Currency Translation Adjustments | | Unrealized Gain (Loss) on Marketable Securities | | Accumulated Other Comprehensive Income | | Balance as of January 31, 2026 | $ | 36,256 | | | $ | 345 | | | $ | 36,601 | | | Other comprehensive loss, net of tax | (19,836) | | | (2,108) | | | (21,944) | | | | | | | | | Balance as of July 31, 2026 | $ | 16,420 | | | $ | (1,763) | | | $ | 14,657 | |
| | | | | | | | | | | | | | | | | | | Foreign Currency Translation Adjustments | | Unrealized Loss on Marketable Securities | | Accumulated Other Comprehensive (Loss) Income | | Balance as of January 31, 2025 | $ | (4,518) | | | $ | (372) | | | $ | (4,890) | | | Other comprehensive income (loss), net of tax | 29,895 | | | (258) | | | 29,637 | | | | | | | | | Balance as of July 31, 2025 | $ | 25,377 | | | $ | (630) | | | $ | 24,747 | |
|