v3.26.1
UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Income Statement [Abstract]        
Revenues $ 108,164 $ 101,095 $ 212,264 $ 201,510
Cost of revenues 68,545 66,592 136,413 130,010
Gross profit 39,619 34,503 75,851 71,500
Operating expenses        
Engineering, research, and development 6,423 6,744 12,502 13,230
Sales and marketing 7,122 7,116 14,816 15,373
General and administrative 24,798 20,766 50,938 45,057
Total operating expenses 38,343 34,626 78,256 73,660
Income/(loss) from operations 1,276 (123) (2,405) (2,160)
Other income, net 3,187 7,424 6,428 11,930
Income before income taxes 4,463 7,301 4,023 9,770
Provision for income taxes 1,611 2,028 2,644 1,585
Net income $ 2,852 $ 5,273 $ 1,379 $ 8,185
Income per share        
Basic (in dollars per share) $ 0.03 $ 0.06 $ 0.02 $ 0.10
Diluted (in dollars per share) $ 0.03 $ 0.06 $ 0.02 $ 0.09
Weighted-average shares outstanding        
Basic (in shares) 82,283 84,578 83,475 84,352
Diluted (in shares) 83,024 86,447 84,453 87,166