2022 Q4 Form 10-Q Financial Statement

#000155837022015830 Filed on November 01, 2022

View on sec.gov

Income Statement

Concept 2022 Q4 2022 Q3 2021 Q3
Revenue $56.62M $57.15M $52.28M
YoY Change -4.28% 9.32% 1.63%
Cost Of Revenue $18.67M $18.72M $14.86M
YoY Change -25.03% 25.98% -4.02%
Gross Profit $37.96M $38.43M $36.40M
YoY Change 1.3% 5.59% 4.12%
Gross Profit Margin 67.03% 67.25% 69.62%
Selling, General & Admin $31.76M $27.08M $25.66M
YoY Change 17.13% 5.54% 5.55%
% of Gross Profit 83.68% 70.46% 70.49%
Research & Development $8.139M $9.541M $11.36M
YoY Change -30.52% -16.0% 6.73%
% of Gross Profit 21.44% 24.83% 31.21%
Depreciation & Amortization $1.375M $700.0K $800.0K
YoY Change -36.52% -12.5% 14.29%
% of Gross Profit 3.62% 1.82% 2.2%
Operating Expenses $41.96M $44.06M $38.41M
YoY Change -3.37% 14.7% 2.95%
Operating Profit -$4.009M -$5.625M -$2.016M
YoY Change -32.72% 179.02% -14.39%
Interest Expense $1.198M -$1.121M -$104.0K
YoY Change 303.37% 977.88% -69.41%
% of Operating Profit
Other Income/Expense, Net $210.0K -$1.155M $283.0K
YoY Change -116.61% -508.13% -60.47%
Pretax Income -$2.601M -$6.601M -$1.737M
YoY Change -62.45% 280.02% 9.73%
Income Tax $496.0K $600.0K -$762.0K
% Of Pretax Income
Net Earnings -$3.097M -$7.201M -$975.0K
YoY Change -77.51% 638.56% -41.9%
Net Earnings / Revenue -5.47% -12.6% -1.87%
Basic Earnings Per Share -$0.08 -$0.18 -$0.02
Diluted Earnings Per Share -$0.08 -$0.18 -$0.02
COMMON SHARES
Basic Shares Outstanding 39.66M 39.60M 39.63K
Diluted Shares Outstanding 39.72K 39.63K

Balance Sheet

Concept 2022 Q4 2022 Q3 2021 Q3
SHORT-TERM ASSETS
Cash & Short-Term Investments $98.83M $93.62M $97.82M
YoY Change 0.35% -4.29% -13.21%
Cash & Equivalents $96.50M $81.84M $58.63M
Short-Term Investments $2.328M $11.78M $39.18M
Other Short-Term Assets $10.78M $10.12M $10.99M
YoY Change 15.25% -7.92% 40.37%
Inventory $12.05M $9.467M $11.72M
Prepaid Expenses $6.222M $5.898M $8.362M
Receivables $65.13M $43.74M $44.75M
Other Receivables $0.00 $0.00 $0.00
Total Short-Term Assets $197.5M $167.4M $178.3M
YoY Change 5.59% -6.08% -11.81%
LONG-TERM ASSETS
Property, Plant & Equipment $12.68M $10.80M $10.96M
YoY Change 17.89% -1.51% -9.1%
Goodwill $90.51M $86.19M $96.22M
YoY Change -5.89% -10.42% 2.19%
Intangibles $13.24M $13.04M $22.61M
YoY Change -39.88% -42.35% -21.32%
Long-Term Investments
YoY Change
Other Assets $11.94M $10.98M $12.97M
YoY Change -13.48% -15.33% 24.11%
Total Long-Term Assets $137.5M $132.1M $163.1M
YoY Change -11.37% -18.99% -2.58%
TOTAL ASSETS
Total Short-Term Assets $197.5M $167.4M $178.3M
Total Long-Term Assets $137.5M $132.1M $163.1M
Total Assets $335.1M $299.5M $341.3M
YoY Change -2.1% -12.25% -7.63%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $17.36M $9.824M $7.881M
YoY Change 111.57% 24.65% 48.7%
Accrued Expenses $26.01M $21.55M $21.38M
YoY Change 7.14% 0.82% 2.29%
Deferred Revenue $64.64M $44.27M $42.38M
YoY Change 18.35% 4.47% 15.76%
Short-Term Debt $0.00 $0.00 $0.00
YoY Change
Long-Term Debt Due $0.00 $0.00 $0.00
YoY Change
Total Short-Term Liabilities $110.8M $77.58M $73.33M
YoY Change 24.4% 5.8% 10.03%
LONG-TERM LIABILITIES
Long-Term Debt $0.00 $0.00 $0.00
YoY Change
Other Long-Term Liabilities $2.484M $6.995M $10.12M
YoY Change -68.03% -30.86% 22.97%
Total Long-Term Liabilities $2.484M $6.995M $10.12M
YoY Change -68.03% -30.86% 22.97%
TOTAL LIABILITIES
Total Short-Term Liabilities $110.8M $77.58M $73.33M
Total Long-Term Liabilities $2.484M $6.995M $10.12M
Total Liabilities $131.8M $104.6M $110.7M
YoY Change 7.58% -5.52% 0.37%
SHAREHOLDERS EQUITY
Retained Earnings $128.7M $131.8M $156.9M
YoY Change -10.08% -16.0% -10.57%
Common Stock $107.3M $104.7M $99.06M
YoY Change 7.03% 5.7% 1.68%
Preferred Stock
YoY Change
Treasury Stock (at cost) $18.22M $12.50M
YoY Change 45.76%
Treasury Stock Shares
Shareholders Equity $203.3M $194.9M $230.6M
YoY Change
Total Liabilities & Shareholders Equity $335.1M $299.5M $341.3M
YoY Change -2.1% -12.25% -7.63%

Cashflow Statement

Concept 2022 Q4 2022 Q3 2021 Q3
OPERATING ACTIVITIES
Net Income -$3.097M -$7.201M -$975.0K
YoY Change -77.51% 638.56% -41.9%
Depreciation, Depletion And Amortization $1.375M $700.0K $800.0K
YoY Change -36.52% -12.5% 14.29%
Cash From Operating Activities $7.893M -$2.395M -$5.613M
YoY Change 368.71% -57.33% -284.03%
INVESTING ACTIVITIES
Capital Expenditures $2.461M -$1.512M -$321.0K
YoY Change -484.53% 371.03% -40.56%
Acquisitions
YoY Change
Other Investing Activities $9.500M $8.500M $3.400M
YoY Change 139.96% 150.0% -5766.67%
Cash From Investing Activities $7.039M $6.988M $3.079M
YoY Change 112.08% 126.96% -613.17%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net
YoY Change
Debt Paid & Issued, Net
YoY Change
Cash From Financing Activities -509.0K -356.0K -5.115M
YoY Change 260.99% -93.04% 555.77%
NET CHANGE
Cash From Operating Activities 7.893M -2.395M -5.613M
Cash From Investing Activities 7.039M 6.988M 3.079M
Cash From Financing Activities -509.0K -356.0K -5.115M
Net Change In Cash 14.42M 4.237M -7.649M
YoY Change 196.65% -155.39% -558.02%
FREE CASH FLOW
Cash From Operating Activities $7.893M -$2.395M -$5.613M
Capital Expenditures $2.461M -$1.512M -$321.0K
Free Cash Flow $5.432M -$883.0K -$5.292M
YoY Change 133.73% -83.31% -247.41%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2022Q3 us-gaap Preferred Stock Value
PreferredStockValue
CY2021Q4 us-gaap Preferred Stock Value
PreferredStockValue
CY2022Q3 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P6M
CY2022Q3 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P12M
CY2022Q3 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P12M
CY2022Q3 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P12M
us-gaap Revenue Practical Expedient Remaining Performance Obligation
RevenuePracticalExpedientRemainingPerformanceObligation
true
dei City Area Code
CityAreaCode
312
dei Local Phone Number
LocalPhoneNumber
766-4001
dei Security12b Title
Security12bTitle
Common Shares
us-gaap Revenue Practical Expedient Incremental Cost Of Obtaining Contract
RevenuePracticalExpedientIncrementalCostOfObtainingContract
true
CY2022Q3 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2021Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2022Q3 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2021Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
dei Entity Central Index Key
EntityCentralIndexKey
0001044777
dei Current Fiscal Year End Date
CurrentFiscalYearEndDate
--12-31
dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2022
dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
Q3
dei Amendment Flag
AmendmentFlag
false
dei Entity Filer Category
EntityFilerCategory
Large Accelerated Filer
dei Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
DE
us-gaap Impairment Of Intangible Asset Finite Lived Statement Of Income Or Comprehensive Income Extensible Enumeration
ImpairmentOfIntangibleAssetFiniteLivedStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration
http://fasb.org/us-gaap/2022#AmortizationOfIntangibleAssets
CY2022Q3 us-gaap Restricted Cash Asset Statement Of Financial Position Extensible List
RestrictedCashAssetStatementOfFinancialPositionExtensibleList
http://fasb.org/us-gaap/2022#OtherAssetsNoncurrent
CY2021Q4 us-gaap Restricted Cash Asset Statement Of Financial Position Extensible List
RestrictedCashAssetStatementOfFinancialPositionExtensibleList
http://fasb.org/us-gaap/2022#OtherAssetsNoncurrent
us-gaap Revenue Practical Expedient Financing Component
RevenuePracticalExpedientFinancingComponent
true
dei Document Type
DocumentType
10-Q
dei Document Quarterly Report
DocumentQuarterlyReport
true
dei Document Period End Date
DocumentPeriodEndDate
2022-09-30
dei Document Transition Report
DocumentTransitionReport
false
dei Entity File Number
EntityFileNumber
000-24389
dei Entity Registrant Name
EntityRegistrantName
OneSpan Inc.
dei Entity Tax Identification Number
EntityTaxIdentificationNumber
36-4169320
dei Entity Address Address Line1
EntityAddressAddressLine1
121 West Wacker Drive, Suite 2050
dei Entity Address City Or Town
EntityAddressCityOrTown
Chicago
dei Entity Address State Or Province
EntityAddressStateOrProvince
IL
dei Entity Address Postal Zip Code
EntityAddressPostalZipCode
60601
dei Trading Symbol
TradingSymbol
OSPN
dei Security Exchange Name
SecurityExchangeName
NASDAQ
dei Entity Current Reporting Status
EntityCurrentReportingStatus
Yes
dei Entity Interactive Data Current
EntityInteractiveDataCurrent
Yes
dei Entity Emerging Growth Company
EntityEmergingGrowthCompany
false
dei Entity Small Business
EntitySmallBusiness
false
dei Entity Shell Company
EntityShellCompany
false
CY2022Q4 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
39662100
CY2022Q3 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
81835000
CY2021Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
63380000
CY2022Q3 us-gaap Other Investments And Securities At Cost
OtherInvestmentsAndSecuritiesAtCost
11782000
CY2021Q4 us-gaap Other Investments And Securities At Cost
OtherInvestmentsAndSecuritiesAtCost
35108000
CY2022Q3 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
2526000
CY2021Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
1419000
CY2022Q3 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
43736000
CY2021Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
56612000
CY2022Q3 us-gaap Inventory Net
InventoryNet
9467000
CY2021Q4 us-gaap Inventory Net
InventoryNet
10345000
CY2022Q3 us-gaap Prepaid Expense Current
PrepaidExpenseCurrent
5898000
CY2021Q4 us-gaap Prepaid Expense Current
PrepaidExpenseCurrent
7594000
CY2022Q3 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
4572000
CY2021Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
4694000
CY2022Q3 us-gaap Other Assets Current
OtherAssetsCurrent
10121000
CY2021Q4 us-gaap Other Assets Current
OtherAssetsCurrent
9356000
CY2022Q3 us-gaap Assets Current
AssetsCurrent
167411000
CY2021Q4 us-gaap Assets Current
AssetsCurrent
187089000
CY2022Q3 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
10796000
CY2021Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
10757000
CY2022Q3 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
7747000
CY2021Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
9197000
CY2022Q3 us-gaap Goodwill
Goodwill
86194000
CY2021Q4 us-gaap Goodwill
Goodwill
96174000
CY2022Q3 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
13038000
CY2021Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
21270000
CY2022Q3 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
3362000
CY2021Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
3786000
CY2022Q3 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
10983000
CY2021Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
13998000
CY2022Q3 us-gaap Assets
Assets
299531000
CY2021Q4 us-gaap Assets
Assets
342271000
CY2022Q3 us-gaap Accounts Payable Current
AccountsPayableCurrent
9824000
CY2021Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
8204000
CY2022Q3 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
44271000
CY2021Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
54617000
CY2022Q3 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
14465000
CY2021Q4 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
16607000
CY2022Q3 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
1587000
CY2021Q4 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
1103000
CY2022Q3 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
7089000
CY2021Q4 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
7668000
CY2022Q3 us-gaap Deferred Compensation Liability Current
DeferredCompensationLiabilityCurrent
345000
CY2021Q4 us-gaap Deferred Compensation Liability Current
DeferredCompensationLiabilityCurrent
877000
CY2022Q3 us-gaap Liabilities Current
LiabilitiesCurrent
77581000
CY2021Q4 us-gaap Liabilities Current
LiabilitiesCurrent
89076000
CY2022Q3 us-gaap Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
6543000
CY2021Q4 us-gaap Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
9125000
CY2022Q3 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
8517000
CY2021Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
10180000
CY2022Q3 us-gaap Accrued Income Taxes Noncurrent
AccruedIncomeTaxesNoncurrent
3080000
CY2021Q4 us-gaap Accrued Income Taxes Noncurrent
AccruedIncomeTaxesNoncurrent
5054000
CY2022Q3 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
1893000
CY2021Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
1286000
CY2022Q3 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
6995000
CY2021Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
7770000
CY2022Q3 us-gaap Liabilities
Liabilities
104609000
CY2021Q4 us-gaap Liabilities
Liabilities
122491000
CY2022Q3 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
500000
CY2021Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
500000
CY2022Q3 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.001
CY2021Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.001
CY2022Q3 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
75000000
CY2021Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
75000000
CY2022Q3 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
40701000
CY2021Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
40593000
CY2022Q3 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
39662000
CY2021Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
40001000
CY2022Q3 us-gaap Common Stock Value
CommonStockValue
40000
CY2021Q4 us-gaap Common Stock Value
CommonStockValue
40000
CY2022Q3 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
104669000
CY2021Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
100250000
CY2022Q3 us-gaap Treasury Stock Common Shares
TreasuryStockCommonShares
1038
CY2021Q4 us-gaap Treasury Stock Common Shares
TreasuryStockCommonShares
592
CY2022Q3 us-gaap Treasury Stock Common Value
TreasuryStockCommonValue
18222000
CY2021Q4 us-gaap Treasury Stock Common Value
TreasuryStockCommonValue
12501000
CY2022Q3 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
131836000
CY2021Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
143173000
CY2022Q3 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-23401000
CY2021Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-11182000
CY2022Q3 us-gaap Stockholders Equity
StockholdersEquity
194922000
CY2021Q4 us-gaap Stockholders Equity
StockholdersEquity
219780000
CY2022Q3 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
299531000
CY2021Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
342271000
CY2022Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
57147000
CY2021Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52276000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
162384000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
155328000
CY2022Q3 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
18716000
CY2021Q3 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
15881000
us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
51769000
us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
49860000
CY2022Q3 us-gaap Gross Profit
GrossProfit
38431000
CY2021Q3 us-gaap Gross Profit
GrossProfit
36395000
us-gaap Gross Profit
GrossProfit
110615000
us-gaap Gross Profit
GrossProfit
105468000
CY2022Q3 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
15265000
CY2021Q3 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
14449000
us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
45193000
us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
46638000
CY2022Q3 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
9541000
CY2021Q3 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
11359000
us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
33596000
us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
35699000
CY2022Q3 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
11813000
CY2021Q3 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
11207000
us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
39549000
us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
38797000
CY2022Q3 us-gaap Asset Impairment Charges
AssetImpairmentCharges
3828000
us-gaap Asset Impairment Charges
AssetImpairmentCharges
3828000
CY2022Q3 us-gaap Restructuring Charges
RestructuringCharges
2653000
us-gaap Restructuring Charges
RestructuringCharges
8000000
CY2022Q3 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
956000
CY2021Q3 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
1396000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
3555000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
4503000
CY2022Q3 us-gaap Operating Expenses
OperatingExpenses
44056000
CY2021Q3 us-gaap Operating Expenses
OperatingExpenses
38411000
us-gaap Operating Expenses
OperatingExpenses
133721000
us-gaap Operating Expenses
OperatingExpenses
125637000
CY2022Q3 us-gaap Operating Income Loss
OperatingIncomeLoss
-5625000
CY2021Q3 us-gaap Operating Income Loss
OperatingIncomeLoss
-2016000
us-gaap Operating Income Loss
OperatingIncomeLoss
-23106000
us-gaap Operating Income Loss
OperatingIncomeLoss
-20169000
CY2022Q3 us-gaap Investment Income Net
InvestmentIncomeNet
179000
CY2021Q3 us-gaap Investment Income Net
InvestmentIncomeNet
-4000
us-gaap Investment Income Net
InvestmentIncomeNet
197000
us-gaap Investment Income Net
InvestmentIncomeNet
2000
CY2022Q3 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-1155000
CY2021Q3 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
283000
us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
13817000
us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
950000
CY2022Q3 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
-6601000
CY2021Q3 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
-1737000
us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
-9092000
us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
-19217000
CY2022Q3 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
600000
CY2021Q3 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
-762000
us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
2245000
us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
-2406000
CY2022Q3 us-gaap Net Income Loss
NetIncomeLoss
-7201000
CY2021Q3 us-gaap Net Income Loss
NetIncomeLoss
-975000
us-gaap Net Income Loss
NetIncomeLoss
-11337000
us-gaap Net Income Loss
NetIncomeLoss
-16811000
CY2022Q3 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.18
CY2021Q3 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.02
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.28
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.42
CY2022Q3 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.18
CY2021Q3 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.02
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.28
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.42
CY2022Q3 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39723
CY2021Q3 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39629
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39801
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39688
CY2022Q3 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39723
CY2021Q3 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39629
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39801
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39688
CY2022Q3 us-gaap Net Income Loss
NetIncomeLoss
-7201000
CY2021Q3 us-gaap Net Income Loss
NetIncomeLoss
-975000
us-gaap Net Income Loss
NetIncomeLoss
-11337000
us-gaap Net Income Loss
NetIncomeLoss
-16811000
CY2022Q3 us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
-4786000
CY2021Q3 us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
-2287000
us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
-12121000
us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
-2657000
CY2022Q3 us-gaap Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
21000
us-gaap Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
68000
CY2022Q3 us-gaap Other Comprehensive Income Availableforsale Securities Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
59000
us-gaap Other Comprehensive Income Availableforsale Securities Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
-30000
us-gaap Other Comprehensive Income Availableforsale Securities Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
-7000
CY2022Q3 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
-11949000
CY2021Q3 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
-3262000
us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
-23556000
us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
-19475000
CY2021Q4 us-gaap Stockholders Equity
StockholdersEquity
219780000
CY2022Q1 us-gaap Net Income Loss
NetIncomeLoss
5214000
CY2022Q1 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-2020000
CY2022Q1 us-gaap Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
1360000
CY2022Q1 ospn Adjustment To Additional Paid In Capital Tax Payments Related To Restricted Stock Share Issuances
AdjustmentToAdditionalPaidInCapitalTaxPaymentsRelatedToRestrictedStockShareIssuances
635000
CY2022Q1 us-gaap Other Comprehensive Income Availableforsale Securities Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
-79000
CY2022Q1 us-gaap Other Comprehensive Income Defined Benefit Plans Net Unamortized Gain Loss Arising During Period Net Of Tax
OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
-25000
CY2022Q1 us-gaap Stockholders Equity
StockholdersEquity
223595000
CY2022Q2 us-gaap Net Income Loss
NetIncomeLoss
-9350000
CY2022Q2 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-5315000
CY2022Q2 us-gaap Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
1253000
CY2022Q2 ospn Adjustment To Additional Paid In Capital Tax Payments Related To Restricted Stock Share Issuances
AdjustmentToAdditionalPaidInCapitalTaxPaymentsRelatedToRestrictedStockShareIssuances
88000
CY2022Q2 us-gaap Stock Repurchased During Period Value
StockRepurchasedDuringPeriodValue
5721000
CY2022Q2 us-gaap Other Comprehensive Income Availableforsale Securities Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
-10000
CY2022Q2 us-gaap Other Comprehensive Income Defined Benefit Plans Net Unamortized Gain Loss Arising During Period Net Of Tax
OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
-22000
CY2022Q2 us-gaap Stockholders Equity
StockholdersEquity
204342000
CY2022Q3 us-gaap Net Income Loss
NetIncomeLoss
-7201000
CY2022Q3 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-4786000
CY2022Q3 us-gaap Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
2884000
CY2022Q3 ospn Adjustment To Additional Paid In Capital Tax Payments Related To Restricted Stock Share Issuances
AdjustmentToAdditionalPaidInCapitalTaxPaymentsRelatedToRestrictedStockShareIssuances
355000
CY2022Q3 us-gaap Other Comprehensive Income Availableforsale Securities Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
59000
CY2022Q3 us-gaap Other Comprehensive Income Defined Benefit Plans Net Unamortized Gain Loss Arising During Period Net Of Tax
OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
-21000
CY2022Q3 us-gaap Stockholders Equity
StockholdersEquity
194922000
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
257340000
CY2021Q1 us-gaap Net Income Loss
NetIncomeLoss
-9151000
CY2021Q1 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-897000
CY2021Q1 us-gaap Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
1342000
CY2021Q1 ospn Adjustment To Additional Paid In Capital Tax Payments Related To Restricted Stock Share Issuances
AdjustmentToAdditionalPaidInCapitalTaxPaymentsRelatedToRestrictedStockShareIssuances
2139000
CY2021Q1 us-gaap Other Comprehensive Income Availableforsale Securities Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
-15000
CY2021Q1 us-gaap Stockholders Equity
StockholdersEquity
246480000
CY2021Q2 us-gaap Net Income Loss
NetIncomeLoss
-6685000
CY2021Q2 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
549000
CY2021Q2 us-gaap Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
1292000
CY2021Q2 ospn Adjustment To Additional Paid In Capital Tax Payments Related To Restricted Stock Share Issuances
AdjustmentToAdditionalPaidInCapitalTaxPaymentsRelatedToRestrictedStockShareIssuances
91000
CY2021Q2 us-gaap Stock Repurchased During Period Value
StockRepurchasedDuringPeriodValue
2908000
CY2021Q2 us-gaap Other Comprehensive Income Availableforsale Securities Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
8000
CY2021Q2 us-gaap Stockholders Equity
StockholdersEquity
238645000
CY2021Q3 us-gaap Net Income Loss
NetIncomeLoss
-975000
CY2021Q3 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-2283000
CY2021Q3 us-gaap Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
347000
CY2021Q3 ospn Adjustment To Additional Paid In Capital Tax Payments Related To Restricted Stock Share Issuances
AdjustmentToAdditionalPaidInCapitalTaxPaymentsRelatedToRestrictedStockShareIssuances
552000
CY2021Q3 us-gaap Stock Repurchased During Period Value
StockRepurchasedDuringPeriodValue
4563000
CY2021Q3 us-gaap Stockholders Equity
StockholdersEquity
230619000
us-gaap Profit Loss
ProfitLoss
-11337000
us-gaap Profit Loss
ProfitLoss
-16811000
us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
5691000
us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
6760000
us-gaap Gain Loss On Disposition Of Assets
GainLossOnDispositionOfAssets
-3828000
us-gaap Income Loss From Equity Method Investments
IncomeLossFromEquityMethodInvestments
14810000
us-gaap Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
683000
us-gaap Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
-3701000
us-gaap Share Based Compensation
ShareBasedCompensation
5497000
us-gaap Share Based Compensation
ShareBasedCompensation
2981000
us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
1111000
us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
-1709000
us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-9326000
us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-13189000
us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
540000
us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
-1101000
us-gaap Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
232000
us-gaap Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
-3764000
us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
2236000
us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
2347000
us-gaap Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
-1450000
us-gaap Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
-2661000
us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
-1342000
us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
-27000
us-gaap Increase Decrease In Deferred Compensation
IncreaseDecreaseInDeferredCompensation
-532000
us-gaap Increase Decrease In Deferred Compensation
IncreaseDecreaseInDeferredCompensation
-897000
us-gaap Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
-10838000
us-gaap Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
-1860000
us-gaap Increase Decrease In Other Operating Capital Net
IncreaseDecreaseInOtherOperatingCapitalNet
970000
us-gaap Increase Decrease In Other Operating Capital Net
IncreaseDecreaseInOtherOperatingCapitalNet
6905000
us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
-13679000
us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
-4429000
us-gaap Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
15812000
us-gaap Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
45882000
us-gaap Proceeds From Maturities Prepayments And Calls Of Shortterm Investments
ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
39050000
us-gaap Proceeds From Maturities Prepayments And Calls Of Shortterm Investments
ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
33129000
us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
2547000
us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
1529000
us-gaap Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
17000
us-gaap Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
17000
us-gaap Payments For Proceeds From Other Investing Activities
PaymentsForProceedsFromOtherInvestingActivities
-18874000
us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
39548000
us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-14299000
us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
5721000
us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
7471000
us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
1078000
us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
2782000
us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-6799000
us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-10253000
us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
-616000
us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
-760000
us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
18454000
us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-29741000
CY2021Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
64228000
CY2020Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
89241000
CY2022Q3 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
82682000
CY2021Q3 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
59500000
CY2022Q3 us-gaap Restricted Cash
RestrictedCash
800000
CY2021Q3 us-gaap Restricted Cash
RestrictedCash
900000
CY2022Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
57147000
us-gaap Comparability Of Prior Year Financial Data
ComparabilityOfPriorYearFinancialData
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;">Revision of Previously Issued Financial Statements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">As disclosed previously in the Company’s Form 10-K for the year ended December 31, 2021, the Company revised amounts reported in previously issued financial statements to correct prior period immaterial errors. The errors relate to certain costs directly related to the production and distribution of hardware products. The costs were not properly categorized in prior periods, which led to an understatement of product and license cost of goods sold and an overstatement of sales and marketing expense. There was no impact to previously reported revenue or net income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company evaluated the aggregate effects of the errors on its previously issued financial statements in accordance with SEC Staff Accounting Bulletins No. 99 and No. 108 and, based upon quantitative and qualitative factors, determined that the errors were not material to the previously issued financial statements and disclosures included in its Annual Reports on Form 10-K for the years ended December 31, 2021 and 2020, or for any quarterly periods included therein or through its Quarterly Report on Form 10-Q for the quarterly period ended September 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> The following table presents the effects of the aforementioned revision on the Company’s unaudited condensed consolidated statements of operations for the three and nine months ended September 30, 2021.</span><br/><br/><b style="font-weight:bold;">Revised Condensed Consolidated Statements of Operations Amounts:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 59.25pt 0pt 0pt;"><span style="margin-right:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:30.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:32.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:32.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">(In thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">    </span></p></td><td colspan="2" style="vertical-align:bottom;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As Previously Reported</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As Revised</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-size:9.5pt;font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As Previously Reported</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As Revised</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of goods sold</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Product and license</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 8,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 1,025</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 9,502</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 27,607</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 3,212</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 30,819</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total cost of goods sold</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$ </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 14,856</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 1,025</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 15,881</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$ </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 46,648</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 3,212</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$ </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 49,860</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 37,420</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;"> (1,025)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 36,395</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 108,680</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;"> (3,212)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 105,468</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Sales and marketing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$ </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 15,474</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;"> (1,025)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$ </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 14,449</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 49,850</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;"> (3,212)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 46,638</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 39,436</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;"> (1,025)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 38,411</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 128,849</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt;"><span style="font-size:9.5pt;"> (3,212)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">$ </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9.5pt;"> 125,637</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table>
CY2021Q3 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
15881000
us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
49860000
CY2021Q3 us-gaap Gross Profit
GrossProfit
36395000
us-gaap Gross Profit
GrossProfit
105468000
CY2021Q3 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
14449000
us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
46638000
CY2021Q3 us-gaap Operating Expenses
OperatingExpenses
38411000
us-gaap Operating Expenses
OperatingExpenses
125637000
us-gaap Use Of Estimates
UseOfEstimates
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;">Estimates and Assumptions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.</p>
CY2022Q3 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
1300000
us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
2600000
CY2021Q3 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
100000
us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
200000
CY2021Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52276000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
162384000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
155328000
CY2022Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
57147000
CY2021Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52276000
CY2022Q3 ospn Revenue From Contract With Customer Including Assessed Tax Percentage
RevenueFromContractWithCustomerIncludingAssessedTaxPercentage
1
CY2021Q3 ospn Revenue From Contract With Customer Including Assessed Tax Percentage
RevenueFromContractWithCustomerIncludingAssessedTaxPercentage
1
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
162384000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
155328000
ospn Revenue From Contract With Customer Including Assessed Tax Percentage
RevenueFromContractWithCustomerIncludingAssessedTaxPercentage
1
ospn Revenue From Contract With Customer Including Assessed Tax Percentage
RevenueFromContractWithCustomerIncludingAssessedTaxPercentage
1
CY2022Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
57147000
CY2021Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52276000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
162384000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
155328000
CY2022Q3 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
43736000
CY2021Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
56612000
CY2022Q3 us-gaap Contract With Customer Asset Gross
ContractWithCustomerAssetGross
4712000
CY2021Q4 us-gaap Contract With Customer Asset Gross
ContractWithCustomerAssetGross
4889000
CY2022Q3 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
50814000
CY2021Q4 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
63742000
us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
40300000
CY2022Q3 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
11238000
CY2022Q3 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
28617000
CY2022Q3 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
15823000
CY2022Q3 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
8375000
CY2022Q3 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
64053000
CY2022Q3 us-gaap Capitalized Contract Cost Net Current
CapitalizedContractCostNetCurrent
2632000
CY2021Q4 us-gaap Capitalized Contract Cost Net Current
CapitalizedContractCostNetCurrent
2134000
CY2022Q3 us-gaap Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
9665000
CY2021Q4 us-gaap Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
8675000
CY2022Q3 us-gaap Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
641000
CY2021Q3 us-gaap Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
419000
us-gaap Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
1731000
us-gaap Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
1090000
CY2022Q3 us-gaap Inventory Parts And Components Net Of Reserves
InventoryPartsAndComponentsNetOfReserves
4793000
CY2021Q4 us-gaap Inventory Parts And Components Net Of Reserves
InventoryPartsAndComponentsNetOfReserves
3841000
CY2022Q3 us-gaap Inventory Finished Goods And Work In Process Net Of Reserves
InventoryFinishedGoodsAndWorkInProcessNetOfReserves
4674000
CY2021Q4 us-gaap Inventory Finished Goods And Work In Process Net Of Reserves
InventoryFinishedGoodsAndWorkInProcessNetOfReserves
6504000
CY2022Q3 us-gaap Inventory Net
InventoryNet
9467000
CY2021Q4 us-gaap Inventory Net
InventoryNet
10345000
CY2021Q4 us-gaap Goodwill
Goodwill
96174000
us-gaap Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
9980000
CY2022Q3 us-gaap Goodwill
Goodwill
86194000
us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0
CY2022Q3 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
1686000
CY2022Q3 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
1630000
CY2022Q3 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
4201000
CY2022Q3 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
1952000
CY2022Q3 us-gaap Operating Lease Liability
OperatingLeaseLiability
10652000
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39801
CY2022Q3 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
88360000
CY2022Q3 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
75322000
CY2021Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
96397000
CY2021Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
75127000
CY2022Q3 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
1000000.0
CY2021Q3 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
1400000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
3600000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
4500000
us-gaap Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
0
CY2022Q3 us-gaap Loss Contingency Accrual At Carrying Value
LossContingencyAccrualAtCarryingValue
1300000
CY2022Q3 us-gaap Restructuring Charges
RestructuringCharges
2700000
CY2022Q3 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
30154000
CY2021Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
28846000
CY2022Q3 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
19358000
CY2021Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
18089000
CY2022Q3 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
10796000
CY2021Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
10757000
CY2022Q3 us-gaap Depreciation
Depreciation
700000
us-gaap Depreciation
Depreciation
2100000
CY2021Q3 us-gaap Depreciation
Depreciation
800000
us-gaap Depreciation
Depreciation
2300000
us-gaap Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
0
CY2022Q3 us-gaap Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
0
CY2022Q3 us-gaap Operating Lease Cost
OperatingLeaseCost
804000
CY2021Q3 us-gaap Operating Lease Cost
OperatingLeaseCost
1052000
us-gaap Operating Lease Cost
OperatingLeaseCost
2481000
us-gaap Operating Lease Cost
OperatingLeaseCost
3043000
CY2022Q3 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P6Y1M6D
CY2022Q3 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.05
us-gaap Operating Lease Payments
OperatingLeasePayments
2400000
us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
600000
CY2022Q3 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
703000
CY2022Q3 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
2535000
CY2022Q3 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
1849000
us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.22
us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21
CY2022Q3 us-gaap Proceeds From Income Tax Refunds
ProceedsFromIncomeTaxRefunds
300000
us-gaap Proceeds From Income Tax Refunds
ProceedsFromIncomeTaxRefunds
1700000
CY2021Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
43700000
CY2021Q4 us-gaap Operating Loss Carryforwards
OperatingLossCarryforwards
148600000
CY2021Q4 us-gaap Tax Credit Carryforward Amount
TaxCreditCarryforwardAmount
97500000
CY2021Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
31300000
CY2022Q3 us-gaap Share Based Compensation
ShareBasedCompensation
2884000
CY2021Q3 us-gaap Share Based Compensation
ShareBasedCompensation
347000
us-gaap Share Based Compensation
ShareBasedCompensation
5497000
us-gaap Share Based Compensation
ShareBasedCompensation
2981000
CY2022Q3 us-gaap Deferred Compensation Arrangement With Individual Compensation Expense
DeferredCompensationArrangementWithIndividualCompensationExpense
230000
CY2021Q3 us-gaap Deferred Compensation Arrangement With Individual Compensation Expense
DeferredCompensationArrangementWithIndividualCompensationExpense
165000
us-gaap Deferred Compensation Arrangement With Individual Compensation Expense
DeferredCompensationArrangementWithIndividualCompensationExpense
118000
us-gaap Deferred Compensation Arrangement With Individual Compensation Expense
DeferredCompensationArrangementWithIndividualCompensationExpense
640000
CY2022Q3 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
3114000
CY2021Q3 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
512000
us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
5615000
us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
3621000
CY2022Q3 us-gaap Net Income Loss
NetIncomeLoss
-7201000
CY2021Q3 us-gaap Net Income Loss
NetIncomeLoss
-975000
us-gaap Net Income Loss
NetIncomeLoss
-11337000
us-gaap Net Income Loss
NetIncomeLoss
-16811000
CY2022Q3 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39723
CY2021Q3 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39629
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39688
CY2022Q3 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39723
CY2021Q3 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39629
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39801
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39688
CY2022Q3 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.18
CY2021Q3 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.02
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.28
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.42
CY2022Q3 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.18
CY2021Q3 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.02
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.28
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.42
us-gaap Restructuring Charges
RestructuringCharges
8000000.0
us-gaap Restructuring Reserve Translation And Other Adjustment
RestructuringReserveTranslationAndOtherAdjustment
8000000
us-gaap Restructuring Reserve Period Increase Decrease
RestructuringReservePeriodIncreaseDecrease
4446000
CY2022Q3 us-gaap Restructuring Reserve
RestructuringReserve
3554000
CY2022Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
57147000
CY2021Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52276000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
162384000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
155328000
CY2022Q3 us-gaap Gross Profit
GrossProfit
38431000
CY2021Q3 us-gaap Gross Profit
GrossProfit
36395000
us-gaap Gross Profit
GrossProfit
110615000
us-gaap Gross Profit
GrossProfit
105468000
CY2022Q3 ospn Gross Margin Percentage
GrossMarginPercentage
0.67
CY2021Q3 ospn Gross Margin Percentage
GrossMarginPercentage
0.70
ospn Gross Margin Percentage
GrossMarginPercentage
0.68
ospn Gross Margin Percentage
GrossMarginPercentage
0.68
CY2022Q3 us-gaap Operating Income Loss
OperatingIncomeLoss
-5625000
CY2021Q3 us-gaap Operating Income Loss
OperatingIncomeLoss
-2016000
us-gaap Operating Income Loss
OperatingIncomeLoss
-23106000
us-gaap Operating Income Loss
OperatingIncomeLoss
-20169000
us-gaap Number Of Operating Segments
NumberOfOperatingSegments
2

Files In Submission

Name View Source Status
FilingSummary.xml Edgar Link unprocessable
ospn-20220930_cal.xml Edgar Link unprocessable
ospn-20220930_lab.xml Edgar Link unprocessable
ospn-20220930_def.xml Edgar Link unprocessable
0001558370-22-015830-index-headers.html Edgar Link pending
0001558370-22-015830-index.html Edgar Link pending
0001558370-22-015830.txt Edgar Link pending
0001558370-22-015830-xbrl.zip Edgar Link pending
Financial_Report.xlsx Edgar Link pending
MetaLinks.json Edgar Link pending
ospn-20220930.xsd Edgar Link pending
ospn-20220930x10q.htm Edgar Link pending
ospn-20220930xex10d1.htm Edgar Link pending
ospn-20220930xex10d2.htm Edgar Link pending
ospn-20220930xex10d3.htm Edgar Link pending
ospn-20220930xex10d4.htm Edgar Link pending
ospn-20220930xex10d5.htm Edgar Link pending
ospn-20220930xex10d6.htm Edgar Link pending
ospn-20220930xex10d7.htm Edgar Link pending
ospn-20220930xex31d1.htm Edgar Link pending
ospn-20220930xex31d2.htm Edgar Link pending
ospn-20220930xex32d1.htm Edgar Link pending
ospn-20220930xex32d2.htm Edgar Link pending
R1.htm Edgar Link pending
R10.htm Edgar Link pending
R11.htm Edgar Link pending
R12.htm Edgar Link pending
R13.htm Edgar Link pending
R14.htm Edgar Link pending
R15.htm Edgar Link pending
R16.htm Edgar Link pending
R17.htm Edgar Link pending
R18.htm Edgar Link pending
R19.htm Edgar Link pending
R2.htm Edgar Link pending
R20.htm Edgar Link pending
R21.htm Edgar Link pending
R22.htm Edgar Link pending
R23.htm Edgar Link pending
R24.htm Edgar Link pending
R25.htm Edgar Link pending
R26.htm Edgar Link pending
R27.htm Edgar Link pending
R28.htm Edgar Link pending
R29.htm Edgar Link pending
R3.htm Edgar Link pending
R30.htm Edgar Link pending
R31.htm Edgar Link pending
R32.htm Edgar Link pending
R33.htm Edgar Link pending
ospn-20220930x10q_htm.xml Edgar Link completed
R34.htm Edgar Link pending
R35.htm Edgar Link pending
R36.htm Edgar Link pending
R37.htm Edgar Link pending
R38.htm Edgar Link pending
R39.htm Edgar Link pending
R4.htm Edgar Link pending
R40.htm Edgar Link pending
R41.htm Edgar Link pending
R42.htm Edgar Link pending
R43.htm Edgar Link pending
R44.htm Edgar Link pending
R45.htm Edgar Link pending
R46.htm Edgar Link pending
R47.htm Edgar Link pending
R48.htm Edgar Link pending
R49.htm Edgar Link pending
R5.htm Edgar Link pending
R50.htm Edgar Link pending
R51.htm Edgar Link pending
R52.htm Edgar Link pending
R53.htm Edgar Link pending
R54.htm Edgar Link pending
R55.htm Edgar Link pending
R56.htm Edgar Link pending
R57.htm Edgar Link pending
R58.htm Edgar Link pending
R59.htm Edgar Link pending
R6.htm Edgar Link pending
R60.htm Edgar Link pending
R61.htm Edgar Link pending
R62.htm Edgar Link pending
R63.htm Edgar Link pending
R7.htm Edgar Link pending
R8.htm Edgar Link pending
R9.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending
ospn-20220930_pre.xml Edgar Link unprocessable