$0.83 (0.66%)
| date | 2025-12-31 | 2024-12-31 | 2023-12-31 | 2022-12-31 | 2021-12-31 | 2020-12-31 | 2019-12-31 | 2018-12-31 | 2017-12-31 | 2016-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| revenue | 545.12M | 522.19M | 501.48M | 477.87M | 395.38M | 184.41M | 249.17M | 240.32M | 230.73M | 217.03M |
| costOfRevenue | 299.09M | 241.37M | 232.3M | 218.28M | 177.72M | 84.71M | 122.29M | 117.06M | 112.2M | 105.24M |
| grossProfit | 246.03M | 280.82M | 269.18M | 259.59M | 217.66M | 99.7M | 126.87M | 123.26M | 118.52M | 111.79M |
| researchAndDevelopmentExpenses | - | - | - | - | - | - | - | - | - | - |
| generalAndAdministrativeExpenses | - | 98.89M | 96.82M | 88.5M | 75.13M | 55.9M | 64.31M | 60.9M | 57.52M | 52.33M |
| sellingAndMarketingExpenses | - | 9.4M | 9M | 9.1M | 9.3M | 4.5M | 5M | 4.9M | 5.2M | 5.4M |
| sellingGeneralAndAdministrativeExpenses | 109.38M | 108.29M | 105.82M | 97.6M | 84.43M | 60.4M | 69.31M | 65.8M | 62.72M | 57.73M |
| otherExpenses | - | 80.03M | 53.2M | 50.55M | 43.36M | 24.04M | 17.99M | 14.62M | 15.13M | 14.84M |
| operatingExpenses | 109.38M | 188.31M | 159.02M | 148.15M | 127.78M | 84.43M | 87.3M | 80.42M | 77.85M | 72.56M |
| costAndExpenses | 408.47M | 429.68M | 391.33M | 366.43M | 305.5M | 169.14M | 209.59M | 197.48M | 190.06M | 177.81M |
| netInterestIncome | -1.94M | -104K | -1.62M | -2.42M | -4.51M | -273K | 1000 | -177K | -967K | -616K |
| interestIncome | - | - | - | - | - | - | 1000 | - | - | - |
| interestExpense | 1.94M | 104K | 1.62M | 2.42M | 4.51M | 273K | - | 177K | 967K | 616K |
| depreciationAndAmortization | 54.46M | 51.36M | 47.29M | 43.44M | 38.41M | 17.32M | 14.88M | 14.62M | 15.13M | 14.84M |
| ebitda | 185.82M | 143.86M | 157.45M | 154.88M | 128.29M | 32.6M | 54.45M | 57.44M | 55.8M | 54.06M |
| ebit | 131.37M | 92.5M | 110.15M | 111.44M | 89.88M | 15.27M | 39.58M | 42.83M | 40.67M | 39.22M |
| nonOperatingIncomeExcludingInterest | 5.29M | - | - | - | - | - | - | - | - | -677K |
| operatingIncome | 136.66M | 92.5M | 110.15M | 111.44M | 89.88M | 15.27M | 39.58M | 42.83M | 40.67M | 38.55M |
| totalOtherIncomeExpensesNet | -7.22M | -104K | -1.62M | -2.42M | -4.51M | -273K | 1000 | -177K | -967K | -616K |
| incomeBeforeTax | 129.43M | 92.4M | 108.53M | 109.02M | 85.37M | 15M | 39.58M | 42.65M | 39.7M | 37.93M |
| incomeTaxExpense | 28.04M | 19.63M | 26.08M | 21.54M | 16.88M | -8.68M | 7.76M | 8.55M | 14.16M | 13.36M |
| netIncomeFromContinuingOperations | 101.39M | 72.77M | 82.45M | 87.48M | 68.49M | 23.68M | 31.82M | 34.1M | 25.54M | 24.57M |
| netIncomeFromDiscontinuedOperations | - | - | - | - | - | - | - | - | - | - |
| otherAdjustmentsToNetIncome | - | - | - | - | - | - | - | - | - | - |
| netIncome | 101.39M | 72.77M | 82.45M | 87.48M | 68.49M | 23.68M | 31.82M | 34.1M | 25.54M | 24.57M |
| netIncomeDeductions | - | - | - | - | - | - | - | - | - | - |
| bottomLineNetIncome | 101.39M | 72.77M | 82.45M | 87.48M | 68.49M | 23.68M | 31.82M | 34.1M | 25.54M | 24.57M |
| eps | 5.55 | 3.91 | 4.28 | 4.61 | 3.68 | 1.3 | 1.77 | 1.91 | 1.45 | 1.42 |
| date | 2025-12-31 | 2024-12-31 | 2023-12-31 | 2022-12-31 | 2021-12-31 | 2020-12-31 | 2019-12-31 | 2018-12-31 | 2017-12-31 | 2016-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| cashAndCashEquivalents | 96.47M | 58.76M | 43.36M | 38.78M | 33.53M | 28.31M | 60.54M | 30.46M | 29.15M | 26.38M |
| shortTermInvestments | - | - | - | - | - | - | - | - | - | - |
| cashAndShortTermInvestments | 96.47M | 58.76M | 43.36M | 38.78M | 33.53M | 28.31M | 60.54M | 30.46M | 29.15M | 26.38M |
| netReceivables | 14.08M | 11.78M | 13M | 34.56M | 35.83M | 3.1M | 5.64M | 7.02M | 8.93M | 5.44M |
| accountsReceivables | 11.07M | 10.26M | 11.99M | 9.57M | 8.88M | 3.1M | 5.46M | 6.74M | 6.48M | 4.74M |
| otherReceivables | 3.01M | 1.52M | 1.01M | 24.99M | 26.95M | - | 185K | 279K | 2.45M | 705K |
| inventory | 9.09M | 9.3M | 7.61M | 7.56M | 7.16M | 7.82M | 6.74M | 3.69M | 3.34M | 3.1M |
| prepaids | - | 10.59M | 11M | 8.54M | 7.55M | 8.39M | 6.24M | 5.51M | 4.61M | 4.49M |
| otherCurrentAssets | 9.62M | - | - | - | - | 25.53M | - | - | - | - |
| totalCurrentAssets | 129.25M | 90.42M | 74.97M | 89.43M | 84.06M | 73.16M | 79.16M | 46.68M | 46.03M | 39.41M |
| propertyPlantEquipmentNet | 556.67M | 575.29M | 580.5M | 578.05M | 580.81M | 572.51M | 501.48M | 374.32M | 250.71M | 214.9M |
| goodwill | 25.11M | 25.11M | 25.11M | 25.11M | 25.11M | 25.11M | 25.11M | 25.11M | 25.11M | 25.11M |
| intangibleAssets | 1.82M | 345K | 299K | 352K | 477K | 973K | 1.54M | 2.7M | 3.87M | 5.04M |
| goodwillAndIntangibleAssets | 26.93M | 25.46M | 25.41M | 25.46M | 25.59M | 26.08M | 26.65M | 27.82M | 28.98M | 30.15M |
| longTermInvestments | - | - | - | - | - | - | - | - | - | - |
| taxAssets | - | - | - | - | - | - | 8.45M | 4.03M | 3.54M | 7.35M |
| otherNonCurrentAssets | - | 418K | - | - | - | 130K | 908K | 2.28M | 2.82M | 3.36M |
| totalNonCurrentAssets | 583.6M | 601.16M | 605.91M | 603.51M | 606.4M | 598.72M | 537.49M | 408.45M | 286.06M | 255.75M |
| otherAssets | - | - | - | - | - | - | - | - | - | - |
| totalAssets | 712.85M | 691.58M | 680.87M | 692.94M | 690.46M | 671.88M | 616.65M | 455.13M | 332.09M | 295.16M |
| totalPayables | 95.13M | 99.52M | 77.55M | 70.18M | 82.69M | 64.2M | - | 31.12M | 16.61M | 13.91M |
| accountPayables | 95.13M | 41.24M | 23.09M | 14.42M | 18.58M | 11.66M | - | 11.18M | 8.18M | 8.72M |
| otherPayables | - | 58.28M | 54.46M | 55.76M | 64.12M | 52.54M | - | 19.94M | 8.43M | 5.19M |
| accruedExpenses | - | 46.02M | 44.92M | 40.23M | 37.74M | 31.93M | - | 28.32M | 22.8M | 21.21M |
| shortTermDebt | 1.02M | - | - | 6.69M | 20M | 12.5M | 20M | - | - | - |
| capitalLeaseObligationsCurrent | - | 921K | 897K | 639K | 745K | 813K | - | - | - | - |
| taxPayables | - | 7.18M | 6.9M | - | - | - | 3M | 2.79M | 2.61M | 2.59M |
| deferredRevenue | - | - | - | - | - | - | - | - | - | - |
| otherCurrentLiabilities | 54.05M | - | - | - | - | - | -20M | - | - | - |
| totalCurrentLiabilities | 150.2M | 146.46M | 123.37M | 117.74M | 141.18M | 109.44M | 79.46M | 59.44M | 39.41M | 35.12M |
| longTermDebt | 12.28M | - | 5.5M | - | 68.15M | 167.16M | 175.42M | 94.5M | 26.2M | 26.2M |
| capitalLeaseObligationsNonCurrent | 12.28M | 13.14M | 14.02M | 13.23M | 13.5M | 13.98M | 14.8M | - | - | - |
| deferredRevenueNonCurrent | - | - | - | - | - | - | - | - | - | - |
| deferredTaxLiabilitiesNonCurrent | 11.63M | 13.35M | 23.08M | 23.02M | 19.62M | 13.22M | - | - | - | - |
| otherNonCurrentLiabilities | -11.21M | 881K | 1.76M | - | - | - | -175.42M | - | - | - |
| totalNonCurrentLiabilities | 24.98M | 27.37M | 44.37M | 36.24M | 101.27M | 194.37M | - | 94.5M | 26.2M | 26.2M |
| otherLiabilities | - | - | - | - | - | - | - | - | - | - |
| capitalLeaseObligations | 12.28M | 14.06M | 14.92M | 13.87M | 14.24M | 14.8M | 14.8M | - | - | - |
| totalLiabilities | 175.18M | 173.84M | 167.73M | 153.99M | 242.44M | 303.81M | - | 153.94M | 65.61M | 61.32M |
| treasuryStock | -136.41M | -63.69M | -3.72M | -170K | -4.34M | -8.87M | -12.78M | -15.88M | -18.12M | -22.16M |
| preferredStock | - | - | - | - | - | - | - | - | - | - |
| commonStock | 195K | 193K | 191K | 191K | 191K | 191K | 191K | 191K | 191K | 191K |
| retainedEarnings | 597.85M | 518.35M | 467.85M | 498.22M | 410.74M | 342.25M | 318.57M | 286.76M | 257.52M | 231.98M |
| additionalPaidInCapital | 76.04M | 62.89M | 48.82M | 40.72M | 41.43M | 34.5M | 35.22M | 30.11M | 26.89M | 23.83M |
| date | 2025-12-31 | 2024-12-31 | 2023-12-31 | 2022-12-31 | 2021-12-31 | 2020-12-31 | 2019-12-31 | 2018-12-31 | 2017-12-31 | 2016-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| netIncome | 101.39M | 72.77M | 82.45M | 87.48M | 68.49M | 23.68M | 31.82M | 34.1M | 25.54M | 24.57M |
| depreciationAndAmortization | 54.02M | 51.36M | 47.29M | 43.43M | 38.43M | 17.32M | 14.88M | 14.62M | 15.13M | 14.84M |
| deferredIncomeTax | -1.72M | -9.74M | 68000 | 3.4M | 6.53M | 15.77M | 1.34M | -483K | 3.81M | 798K |
| stockBasedCompensation | 8.4M | 7.86M | 7.48M | 5.18M | 4.06M | 3.86M | 8.2M | 5.47M | 7.09M | 1.68M |
| changeInWorkingCapital | 2.67M | 18.37M | 35.06M | -1.35M | 9.24M | -30.27M | 6.28M | 4.41M | -2.76M | 1.42M |
| accountsReceivables | -1.85M | 982K | 21.36M | 1.12M | -7.44M | -23.15M | 1.09M | 92000 | -1.99M | -1.38M |
| inventory | 207K | -1.68M | -56000 | -399K | 664K | -1.09M | -3.04M | -357K | -238K | -216K |
| accountsPayables | 3.68M | 18.15M | 8.67M | -4.16M | 6.92M | -5.38M | 5.86M | 3M | -431K | 1.97M |
| otherWorkingCapital | 629K | 915K | 5.08M | 2.08M | 9.1M | -651K | 2.38M | 1.68M | -101K | 1.04M |
| otherNonCashItems | -5000 | 89000 | 699K | 1.64M | 1.36M | 1.08M | 727K | 643K | 645K | 424K |
| netCashProvidedByOperatingActivities | 164.75M | 140.71M | 173.05M | 139.77M | 128.1M | 31.44M | 63.25M | 58.76M | 49.45M | 43.73M |
| investmentsInPropertyPlantAndEquipment | -36.32M | -47.43M | -49M | -39.48M | -46.93M | -88.67M | -125.37M | -137.07M | -49.99M | -26.12M |
| acquisitionsNet | 41000 | - | - | 440K | 22000 | 31000 | 72000 | - | 86000 | 29000 |
| purchasesOfInvestments | - | - | - | - | - | - | - | - | - | - |
| salesMaturitiesOfInvestments | - | - | - | - | - | - | - | - | - | - |
| otherInvestingActivities | -892K | 3.64M | -2.22M | -8.93M | 9.12M | 42.24M | -9.62M | 11.33M | 3.3M | 1.23M |
| netCashProvidedByInvestingActivities | -37.18M | -43.79M | -51.23M | -47.97M | -37.79M | -46.39M | -134.92M | -125.74M | -46.69M | -24.89M |
| netDebtIssuance | - | -5.5M | -1.5M | -83M | -92.5M | -16.61M | 101.75M | 68.3M | - | -14.7M |
| longTermNetDebtIssuance | - | -5.5M | -1.5M | -83M | -92.5M | -16.61M | 101.75M | 68.3M | - | -14.7M |
| shortTermNetDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| netStockIssuance | -65.67M | -51.75M | -5.03M | 3.34M | 8.13M | 3.76M | - | - | - | - |
| netCommonStockIssuance | -65.67M | -59.97M | -5.03M | 3.34M | 8.13M | 3.76M | - | - | - | - |
| commonStockIssuance | 7.06M | - | - | 9.84M | 8.13M | 3.76M | - | - | - | 2.93M |
| commonStockRepurchased | -72.72M | -59.97M | -5.03M | -6.5M | - | - | - | - | - | - |
| netPreferredStockIssuance | - | 8.22M | - | - | - | - | - | - | - | - |
| netDividendsPaid | -21.89M | -22.26M | -112.82M | - | - | - | - | - | - | - |
| commonDividendsPaid | -21.89M | -22.26M | -112.82M | - | - | - | - | - | - | - |
| preferredDividendsPaid | - | - | - | - | - | - | - | - | - | - |
| otherFinancingActivities | -2.3M | -2.01M | 2.11M | -6.88M | -730K | -4.43M | - | - | - | 1.08M |
| netCashProvidedByFinancingActivities | -89.87M | -81.52M | -117.24M | -86.54M | -85.1M | -17.28M | 101.75M | 68.3M | -13.62M | -13.62M |
| date | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | 2024-12-31 | 2024-09-30 | 2024-06-30 | 2024-03-31 | 2023-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| revenue | 136.55M | 140M | 142.81M | 136.91M | 125.39M | 134.51M | 137.87M | 128.14M | 121.66M | 128.19M |
| costOfRevenue | 72.26M | 62.62M | 76.59M | 57.64M | 59.2M | 61.67M | 62.09M | 59.8M | 70.3M | 71.25M |
| grossProfit | 64.28M | 77.38M | 66.22M | 79.27M | 66.19M | 72.84M | 75.78M | 68.35M | 51.36M | 56.94M |
| researchAndDevelopmentExpenses | - | - | - | - | - | - | - | - | - | - |
| generalAndAdministrativeExpenses | - | - | - | - | - | 18.44M | - | - | - | - |
| sellingAndMarketingExpenses | - | - | - | - | - | 9.4M | - | - | - | - |
| sellingGeneralAndAdministrativeExpenses | 27.75M | 27.89M | 27.51M | 26.79M | 27.19M | 27.84M | 27.18M | 26.2M | 27.07M | 28.66M |
| otherExpenses | - | 20.38M | 541K | 17.59M | 13.69M | 41.1M | 13.33M | 12.64M | - | - |
| operatingExpenses | 27.75M | 48.28M | 28.05M | 44.37M | 40.88M | 68.94M | 40.5M | 38.84M | 27.07M | 28.66M |
| costAndExpenses | 100.02M | 110.9M | 104.64M | 102.02M | 100.08M | 130.61M | 102.6M | 98.63M | 97.37M | 99.9M |
| netInterestIncome | 598K | 654K | -575K | 392K | 316K | 245K | -145K | -211K | -7000 | -111K |
| interestIncome | 598K | 654K | - | 392K | 316K | 245K | - | - | - | - |
| interestExpense | - | - | 575K | - | - | - | 145K | 211K | 7000 | 111K |
| depreciationAndAmortization | 10.47M | 13.18M | 14.06M | 13.57M | 13.22M | 13.36M | 13.1M | 12.4M | 12.49M | 12.14M |
| ebitda | 46.01M | 42.94M | 53.38M | 48.86M | 38.85M | 17.51M | 48.38M | 41.92M | 36.3M | 37.64M |
| ebit | 35.54M | 29.76M | 39.32M | 35.29M | 25.63M | 4.15M | 35.28M | 29.51M | 23.82M | 25.49M |
| nonOperatingIncomeExcludingInterest | 987K | -654K | -1.15M | -392K | -316K | -245K | - | - | 466K | 2.79M |
| operatingIncome | 36.53M | 29.1M | 38.17M | 34.9M | 25.32M | 3.9M | 35.28M | 29.51M | 24.28M | 28.28M |
| totalOtherIncomeExpensesNet | -987K | 654K | 575K | 392K | 316K | 245K | -145K | -211K | -466K | -2.79M |
| incomeBeforeTax | 35.54M | 29.76M | 38.75M | 35.29M | 25.63M | 4.15M | 35.13M | 29.3M | 23.82M | 25.49M |
| incomeTaxExpense | 7.95M | 6.82M | 7.17M | 8.28M | 5.77M | -63000 | 7.53M | 6.62M | 5.54M | 7.29M |
| netIncomeFromContinuingOperations | 27.59M | 22.94M | 31.58M | 27.01M | 19.86M | 4.21M | 27.6M | 22.68M | 18.28M | 18.2M |
| netIncomeFromDiscontinuedOperations | - | - | - | - | - | - | - | - | - | - |
| otherAdjustmentsToNetIncome | - | - | - | - | - | - | - | - | - | - |
| netIncome | 27.59M | 22.94M | 31.58M | 27.01M | 19.86M | 4.21M | 27.6M | 22.68M | 18.28M | 18.2M |
| netIncomeDeductions | - | - | - | - | - | - | - | - | - | - |
| bottomLineNetIncome | 27.59M | 22.94M | 31.58M | 27.01M | 19.86M | 4.21M | 27.6M | 22.68M | 18.28M | 18.2M |
| eps | 1.55 | 1.27 | 1.73 | 1.47 | 1.08 | 1.39 | 1.5 | 1.21 | 0.95 | 0.94 |
| date | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | 2024-12-31 | 2024-09-30 | 2024-06-30 | 2024-03-31 | 2023-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| cashAndCashEquivalents | 120.12M | 96.47M | 107.64M | 71.59M | 75.09M | 58.76M | 39.38M | 33.51M | 39.48M | 43.36M |
| shortTermInvestments | - | - | - | - | - | - | - | - | - | - |
| cashAndShortTermInvestments | 120.12M | 96.47M | 107.64M | 71.59M | 75.09M | 58.76M | 39.38M | 33.51M | 39.48M | 43.36M |
| netReceivables | 9.7M | 14.08M | 8.95M | 14.95M | 12.02M | 11.78M | 11.94M | 11.44M | 10.26M | 13M |
| accountsReceivables | 9.7M | 11.07M | 8.95M | 12.03M | 12.02M | 10.26M | 11.89M | 9.86M | 10.26M | 11.99M |
| otherReceivables | - | 3.01M | - | 2.92M | - | 1.52M | 49000 | 1.58M | - | 1.01M |
| inventory | 8.34M | 9.09M | 8.48M | 8.37M | 8.26M | 9.3M | 7.66M | 8.1M | 7.37M | 7.61M |
| prepaids | - | - | 8.95M | - | 7.93M | 10.59M | 9.35M | 7.91M | 9.35M | 11M |
| otherCurrentAssets | 8.71M | 9.62M | - | 7.63M | - | - | - | - | - | - |
| totalCurrentAssets | 146.88M | 129.25M | 134.02M | 102.54M | 103.31M | 90.42M | 68.33M | 60.96M | 66.46M | 74.97M |
| propertyPlantEquipmentNet | 551.51M | 556.67M | 564.24M | 576.02M | 581.7M | 575.29M | 577.52M | 586.09M | 585.43M | 580.5M |
| goodwill | 25.11M | 25.11M | 25.11M | 25.11M | 25.11M | 25.11M | 25.11M | 25.11M | 25.11M | 25.11M |
| intangibleAssets | 1.67M | 1.82M | 1.73M | 1.79M | 293K | 345K | 177K | 218K | 258K | 299K |
| goodwillAndIntangibleAssets | 26.78M | 26.93M | 26.84M | 26.9M | 25.4M | 25.46M | 25.29M | 25.33M | 25.37M | 25.41M |
| longTermInvestments | - | - | - | - | - | - | - | - | - | - |
| taxAssets | - | - | - | - | - | - | - | 23.08M | - | - |
| otherNonCurrentAssets | - | - | 289K | 321K | 1.68M | 418K | - | -23.08M | - | - |
| totalNonCurrentAssets | 578.3M | 583.6M | 591.37M | 603.25M | 608.78M | 601.16M | 602.81M | 611.42M | 610.8M | 605.91M |
| otherAssets | - | - | - | - | - | - | - | - | - | - |
| totalAssets | 725.17M | 712.85M | 725.38M | 705.79M | 712.09M | 691.58M | 671.14M | 672.38M | 677.26M | 680.87M |
| totalPayables | 98.53M | 95.13M | 88.28M | 89.79M | 97.94M | 99.52M | 62.3M | 65.22M | 73.24M | 77.55M |
| accountPayables | 93.59M | 95.13M | 40.58M | 39.18M | 38.8M | 41.24M | 13.32M | 17.4M | 21.45M | 23.09M |
| otherPayables | 4.94M | - | 47.69M | 50.61M | 59.14M | 58.28M | 48.98M | 47.83M | 51.79M | 54.46M |
| accruedExpenses | - | - | 50.94M | 48.72M | 50.47M | 46.02M | 49.85M | 46.9M | 50.51M | 44.92M |
| shortTermDebt | 986K | 1.02M | - | - | - | - | 7M | 23M | 5.5M | - |
| capitalLeaseObligationsCurrent | - | - | 1.02M | 1.01M | 890K | 921K | 945K | 938K | 919K | 897K |
| taxPayables | 4.94M | - | 52000 | - | - | 7.18M | - | - | 4.54M | 6.9M |
| deferredRevenue | - | - | - | - | - | - | - | - | - | - |
| otherCurrentLiabilities | 51.05M | 54.05M | - | - | - | - | - | - | - | - |
| totalCurrentLiabilities | 150.57M | 150.2M | 140.24M | 139.52M | 149.3M | 146.46M | 120.1M | 136.07M | 130.17M | 123.37M |
| longTermDebt | - | 12.28M | - | - | - | - | - | - | - | 5.5M |
| capitalLeaseObligationsNonCurrent | 12.06M | 12.28M | 12.54M | 12.79M | 12.92M | 13.14M | 13.36M | 13.54M | 13.78M | 14.02M |
| deferredRevenueNonCurrent | - | - | - | - | - | - | - | - | - | - |
| deferredTaxLiabilitiesNonCurrent | 11.63M | 11.63M | 13.35M | 13.35M | 13.35M | 13.35M | 23.08M | 23.08M | 23.08M | 23.08M |
| otherNonCurrentLiabilities | 1.07M | -11.21M | 881K | 881K | 881K | 881K | 1.32M | 1.32M | 1.32M | 1.76M |
| totalNonCurrentLiabilities | 24.76M | 24.98M | 26.77M | 27.02M | 27.15M | 27.37M | 37.76M | 37.94M | 38.18M | 44.37M |
| otherLiabilities | - | - | - | - | - | - | - | - | - | - |
| capitalLeaseObligations | 12.06M | 12.28M | 13.56M | 13.8M | 13.82M | 14.06M | 14.3M | 14.48M | 14.7M | 14.92M |
| totalLiabilities | 175.32M | 175.18M | 167.01M | 166.54M | 176.45M | 173.84M | 157.86M | 174.01M | 168.35M | 167.73M |
| treasuryStock | -154.14M | -136.41M | -95.01M | -83.7M | -63.69M | -63.69M | -63.75M | -54.07M | -23.29M | -3.72M |
| preferredStock | - | - | - | - | - | - | - | - | - | - |
| commonStock | 196K | 195K | 195K | 194K | 194K | 193K | 193K | 192K | 192K | 191K |
| retainedEarnings | 620.08M | 597.85M | 580.26M | 554.18M | 532.68M | 518.35M | 519.66M | 497.57M | 480.44M | 467.85M |
| additionalPaidInCapital | 83.72M | 76.04M | 72.92M | 68.57M | 66.45M | 62.89M | 57.17M | 54.67M | 51.57M | 48.82M |
| date | 2026-03-31 | 2025-12-31 | 2025-09-30 | 2025-06-30 | 2025-03-31 | 2024-12-31 | 2024-09-30 | 2024-06-30 | 2024-03-31 | 2023-12-31 |
|---|---|---|---|---|---|---|---|---|---|---|
| netIncome | 27.59M | 22.94M | 31.58M | 27.01M | 19.86M | 13.89M | 27.6M | 22.68M | 18.28M | 18.2M |
| depreciationAndAmortization | 10.47M | 13.18M | 14.06M | 13.57M | 13.22M | 13.36M | 13.1M | 12.4M | 12.49M | 12.14M |
| deferredIncomeTax | - | -1.72M | - | - | - | - | - | - | - | 68000 |
| stockBasedCompensation | 1.95M | 2.32M | 2.08M | 1.88M | 2.13M | 1.52M | 2.04M | 1.77M | 1.78M | 2.58M |
| changeInWorkingCapital | 8.5M | 1.59M | 8.27M | -8.39M | 1.19M | 28.12M | -2.74M | -12.75M | 5.73M | 5.52M |
| accountsReceivables | 9.27M | -4.7M | 6.07M | -7.21M | 3.99M | 161K | -602K | -5.8M | 7.22M | 613K |
| inventory | 752K | -610K | -112K | -103K | 1.03M | -1.64M | 440K | -733K | 248K | -430K |
| accountsPayables | 482K | 4.34M | 1.41M | 374K | -2.44M | 27.92M | -4.08M | -4.05M | -1.64M | 3.56M |
| otherWorkingCapital | -2M | 2.56M | 908K | -1.45M | -1.4M | 1.67M | 1.5M | -2.17M | -95000 | 1.78M |
| otherNonCashItems | 3000 | -173K | 38000 | 63000 | 67000 | -19.1M | 314K | 196K | 15000 | 129K |
| netCashProvidedByOperatingActivities | 48.51M | 38.14M | 56.02M | 34.13M | 36.46M | 37.8M | 40.32M | 24.31M | 38.29M | 38.64M |
| investmentsInPropertyPlantAndEquipment | -5.55M | -5.92M | -2.48M | -8.1M | -19.82M | -11.56M | -4.9M | -13.35M | -17.62M | -16.84M |
| acquisitionsNet | - | 16000 | - | - | 4000 | - | - | - | - | 73000 |
| purchasesOfInvestments | - | - | - | - | - | - | - | - | - | - |
| salesMaturitiesOfInvestments | - | - | - | - | - | - | - | - | - | - |
| otherInvestingActivities | -1.94M | 2.57M | -2.97M | -4.25M | 3.79M | 2.16M | 1.18M | 571K | -261K | 163K |
| netCashProvidedByInvestingActivities | -7.49M | -3.34M | -5.45M | -12.36M | -16.03M | -9.4M | -3.72M | -12.78M | -17.88M | -16.6M |
| netDebtIssuance | - | - | - | - | - | -7M | -16M | 17.5M | - | -2.5M |
| longTermNetDebtIssuance | - | - | - | - | - | -7M | -16M | 17.5M | - | -2.5M |
| shortTermNetDebtIssuance | - | - | - | - | - | - | - | - | - | - |
| netStockIssuance | -12M | -40.61M | -6.72M | -20.01M | 1.43M | 63000 | -9.68M | -30.78M | -19.57M | -4.11M |
| netCommonStockIssuance | -12M | -40.61M | -6.72M | -20.01M | 1.43M | 63000 | -9.68M | -30.78M | -19.57M | -5.03M |
| commonStockIssuance | 5.73M | 797K | 4.58M | - | 1.43M | - | - | - | - | - |
| commonStockRepurchased | -17.73M | -41.4M | -11.31M | -20.01M | - | 63000 | -9.68M | -30.78M | -19.57M | -5.03M |
| netPreferredStockIssuance | - | - | - | - | - | - | - | - | - | 921K |
| netDividendsPaid | -5.36M | -5.36M | -5.5M | -5.5M | -5.54M | -5.52M | -5.51M | -5.55M | -5.68M | -5.73M |
| commonDividendsPaid | -5.36M | -5.36M | -5.5M | -5.5M | -5.54M | -5.52M | -5.51M | -5.55M | -5.68M | -5.73M |
| preferredDividendsPaid | - | - | - | - | - | - | - | - | - | - |
| otherFinancingActivities | - | - | -2.3M | 244K | - | 3.44M | 462K | 1.33M | 969K | -256K |
| netCashProvidedByFinancingActivities | -17.37M | -45.97M | -14.52M | -25.27M | -4.1M | -9.02M | -30.73M | -17.5M | -24.28M | -12.59M |