XML 53 R34.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 14 - Net Income Per Share (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]
   

Year Ended December 31,

 
   

2021

   

2020

   

2019

 
   

(in thousands, except per share data)

 

Numerator:

                       

Net income

  $ 70,960     $ 91,572     $ 69,336  

Denominator:

                       

Basic weighted average shares

    39,030       39,167       39,075  

Effect of potentially dilutive shares:

                       

Stock options

    863       1,262       1,806  

Restricted stock units

    224       311       403  

Employee stock purchase plan

    1              

Diluted weighted average shares

  $ 40,118     $ 40,740     $ 41,284  

Net income per share:

                       

Basic

  $ 1.82     $ 2.34     $ 1.77  

Diluted

  $ 1.77     $ 2.25     $ 1.68  
Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]
   

Year Ended December 31,

 
   

2021

   

2020

   

2019

 
   

(in thousands)

 

Stock options

    534       532       460  

Restricted stock units

    61       52       52  

Total anti-dilutive shares

    595       584       512