2022 Q3 Form 10-Q Financial Statement

#000155837022012167 Filed on August 04, 2022

View on sec.gov

Income Statement

Concept 2022 Q3 2022 Q2 2022 Q1
Revenue $57.15M $52.79M $52.45M
YoY Change 9.32% 0.98% 3.29%
Cost Of Revenue $18.72M $17.28M $15.77M
YoY Change 25.98% -0.93% -4.62%
Gross Profit $38.43M $35.51M $36.68M
YoY Change 5.59% 1.94% 7.11%
Gross Profit Margin 67.25% 67.26% 69.93%
Selling, General & Admin $27.08M $29.65M $30.79M
YoY Change 5.54% -1.36% 3.6%
% of Gross Profit 70.46% 83.51% 83.95%
Research & Development $9.541M $12.88M $13.75M
YoY Change -16.0% 6.45% 12.29%
% of Gross Profit 24.83% 36.26% 37.49%
Depreciation & Amortization $700.0K $700.0K $2.097M
YoY Change -12.5% 0.0% -9.22%
% of Gross Profit 1.82% 1.97% 5.72%
Operating Expenses $44.06M $43.74M $45.92M
YoY Change 14.7% 0.12% 5.48%
Operating Profit -$5.625M -$8.238M -$9.243M
YoY Change 179.02% -7.01% -0.55%
Interest Expense -$1.121M -$865.0K $14.38M
YoY Change 977.88% -243.69% -2154.71%
% of Operating Profit
Other Income/Expense, Net -$1.155M -$675.0K $15.65M
YoY Change -508.13% -165.6% -4422.38%
Pretax Income -$6.601M -$8.878M $6.387M
YoY Change 280.02% 13.41% -166.17%
Income Tax $600.0K $472.0K $1.173M
% Of Pretax Income 18.37%
Net Earnings -$7.201M -$9.350M $5.214M
YoY Change 638.56% 39.87% -156.98%
Net Earnings / Revenue -12.6% -17.71% 9.94%
Basic Earnings Per Share -$0.18 -$0.23 $0.13
Diluted Earnings Per Share -$0.18 -$0.23 $0.13
COMMON SHARES
Basic Shares Outstanding 39.60M 40.16K 39.58K
Diluted Shares Outstanding 39.72K 40.16K 39.69K

Balance Sheet

Concept 2022 Q3 2022 Q2 2022 Q1
SHORT-TERM ASSETS
Cash & Short-Term Investments $93.62M $97.81M $119.9M
YoY Change -4.29% -10.48% 4.12%
Cash & Equivalents $81.84M $77.58M $83.65M
Short-Term Investments $11.78M $20.23M $36.30M
Other Short-Term Assets $10.12M $10.59M $9.591M
YoY Change -7.92% 7.36% -0.11%
Inventory $9.467M $9.997M $10.39M
Prepaid Expenses $5.898M $7.117M $7.656M
Receivables $43.74M $39.86M $35.70M
Other Receivables $0.00 $0.00 $0.00
Total Short-Term Assets $167.4M $170.5M $188.7M
YoY Change -6.08% -9.03% -4.08%
LONG-TERM ASSETS
Property, Plant & Equipment $10.80M $10.13M $10.25M
YoY Change -1.51% -11.67% -12.53%
Goodwill $86.19M $90.42M $94.59M
YoY Change -10.42% -7.58% -2.94%
Intangibles $13.04M $18.12M $19.73M
YoY Change -42.35% -25.22% -23.23%
Long-Term Investments
YoY Change
Other Assets $10.98M $10.55M $9.802M
YoY Change -15.33% -17.2% -14.83%
Total Long-Term Assets $132.1M $141.4M $147.2M
YoY Change -18.99% -15.28% -11.18%
TOTAL ASSETS
Total Short-Term Assets $167.4M $170.5M $188.7M
Total Long-Term Assets $132.1M $141.4M $147.2M
Total Assets $299.5M $311.9M $335.9M
YoY Change -12.25% -11.97% -7.33%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $9.824M $9.119M $7.231M
YoY Change 24.65% 31.82% 24.93%
Accrued Expenses $21.55M $20.04M $21.41M
YoY Change 0.82% -20.91% -12.98%
Deferred Revenue $44.27M $48.34M $50.99M
YoY Change 4.47% 12.27% 18.13%
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 $77.58M $79.05M $80.44M
YoY Change 5.8% 2.82% 7.83%
LONG-TERM LIABILITIES
Long-Term Debt $0.00 $0.00 $0.00
YoY Change
Other Long-Term Liabilities $6.995M $7.277M $7.554M
YoY Change -30.86% -28.62% -26.3%
Total Long-Term Liabilities $6.995M $7.277M $7.554M
YoY Change -30.86% -28.62% -26.3%
TOTAL LIABILITIES
Total Short-Term Liabilities $77.58M $79.05M $80.44M
Total Long-Term Liabilities $6.995M $7.277M $7.554M
Total Liabilities $104.6M $107.6M $112.3M
YoY Change -5.52% -7.02% -3.17%
SHAREHOLDERS EQUITY
Retained Earnings $131.8M $139.0M $148.4M
YoY Change -16.0% -11.96% -9.85%
Common Stock $104.7M $102.2M $101.0M
YoY Change 5.7% 2.94% 3.01%
Preferred Stock
YoY Change
Treasury Stock (at cost) $12.50M
YoY Change 148.53%
Treasury Stock Shares
Shareholders Equity $194.9M $204.3M $223.6M
YoY Change
Total Liabilities & Shareholders Equity $299.5M $311.9M $335.9M
YoY Change -12.25% -11.97% -7.33%

Cashflow Statement

Concept 2022 Q3 2022 Q2 2022 Q1
OPERATING ACTIVITIES
Net Income -$7.201M -$9.350M $5.214M
YoY Change 638.56% 39.87% -156.98%
Depreciation, Depletion And Amortization $700.0K $700.0K $2.097M
YoY Change -12.5% 0.0% -9.22%
Cash From Operating Activities -$2.395M -$14.94M $3.660M
YoY Change -57.33% 523.71% 2.15%
INVESTING ACTIVITIES
Capital Expenditures -$1.512M -$773.0K $272.0K
YoY Change 371.03% 72.54% -63.97%
Acquisitions $0.00
YoY Change
Other Investing Activities $8.500M $16.05M -$18.87M
YoY Change 150.0% 955.92% -118062.5%
Cash From Investing Activities $6.988M $15.28M $17.28M
YoY Change 126.96% 1338.51% -193.73%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net
YoY Change
Debt Paid & Issued, Net
YoY Change
Cash From Financing Activities -356.0K -5.808M -635.0K
YoY Change -93.04% 93.73% -70.31%
NET CHANGE
Cash From Operating Activities -2.395M -14.94M 3.660M
Cash From Investing Activities 6.988M 15.28M 17.28M
Cash From Financing Activities -356.0K -5.808M -635.0K
Net Change In Cash 4.237M -5.475M 20.26M
YoY Change -155.39% 26.39% -215.43%
FREE CASH FLOW
Cash From Operating Activities -$2.395M -$14.94M $3.660M
Capital Expenditures -$1.512M -$773.0K $272.0K
Free Cash Flow -$883.0K -$14.17M $3.388M
YoY Change -83.31% 627.46% 19.8%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2021Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
100250000
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 City Area Code
CityAreaCode
312
CY2022Q2 us-gaap Preferred Stock Value
PreferredStockValue
CY2021Q4 us-gaap Preferred Stock Value
PreferredStockValue
CY2022Q2 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P6M
CY2022Q2 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P12M
CY2022Q2 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P12M
CY2022Q2 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P12M
us-gaap Revenue Practical Expedient Financing Component
RevenuePracticalExpedientFinancingComponent
true
us-gaap Revenue Practical Expedient Remaining Performance Obligation
RevenuePracticalExpedientRemainingPerformanceObligation
true
us-gaap Revenue Practical Expedient Incremental Cost Of Obtaining Contract
RevenuePracticalExpedientIncrementalCostOfObtainingContract
true
CY2022Q2 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2021Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2022Q2 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
Q1
dei Amendment Flag
AmendmentFlag
false
dei Local Phone Number
LocalPhoneNumber
766-4001
dei Security12b Title
Security12bTitle
Common Shares
dei Trading Symbol
TradingSymbol
OSPN
dei Entity Filer Category
EntityFilerCategory
Large Accelerated Filer
dei Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
DE
dei Security Exchange Name
SecurityExchangeName
NASDAQ
dei Entity Current Reporting Status
EntityCurrentReportingStatus
Yes
dei Entity Interactive Data Current
EntityInteractiveDataCurrent
Yes
CY2022Q1 ospn Equity Method Investment Realized Gain Loss On Disposal Statement Of Income Extensible Enumeration
EquityMethodInvestmentRealizedGainLossOnDisposalStatementOfIncomeExtensibleEnumeration
http://fasb.org/us-gaap/2022#NonoperatingIncomeExpense
dei Document Type
DocumentType
10-Q
us-gaap Impairment Of Intangible Asset Finite Lived Statement Of Income Or Comprehensive Income Extensible Enumeration
ImpairmentOfIntangibleAssetFiniteLivedStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration
http://fasb.org/us-gaap/2022#AmortizationOfIntangibleAssets
dei Document Quarterly Report
DocumentQuarterlyReport
true
dei Document Period End Date
DocumentPeriodEndDate
2022-06-30
CY2022Q2 us-gaap Restricted Cash Asset Statement Of Financial Position Extensible List
RestrictedCashAssetStatementOfFinancialPositionExtensibleList
http://fasb.org/us-gaap/2022#OtherAssetsNoncurrent
CY2022Q2 us-gaap Restricted Cash Asset Statement Of Financial Position Extensible List
RestrictedCashAssetStatementOfFinancialPositionExtensibleList
http://fasb.org/us-gaap/2022#OtherAssetsNoncurrent
dei Document Transition Report
DocumentTransitionReport
false
dei Entity File Number
EntityFileNumber
000-24389
dei Entity Registrant Name
EntityRegistrantName
OneSpan Inc.
dei Entity Emerging Growth Company
EntityEmergingGrowthCompany
false
dei Entity Small Business
EntitySmallBusiness
false
dei Entity Shell Company
EntityShellCompany
false
CY2022Q3 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
39595180
CY2022Q2 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
77583000
CY2021Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
63380000
CY2022Q2 us-gaap Other Investments And Securities At Cost
OtherInvestmentsAndSecuritiesAtCost
20226000
CY2021Q4 us-gaap Other Investments And Securities At Cost
OtherInvestmentsAndSecuritiesAtCost
35108000
CY2022Q2 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
2051000
CY2021Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
1419000
CY2022Q2 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
39863000
CY2021Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
56612000
CY2022Q2 us-gaap Inventory Net
InventoryNet
9997000
CY2021Q4 us-gaap Inventory Net
InventoryNet
10345000
CY2022Q2 us-gaap Prepaid Expense Current
PrepaidExpenseCurrent
7117000
CY2021Q4 us-gaap Prepaid Expense Current
PrepaidExpenseCurrent
7594000
CY2022Q2 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
5147000
CY2021Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
4694000
CY2022Q2 us-gaap Other Assets Current
OtherAssetsCurrent
10586000
CY2021Q4 us-gaap Other Assets Current
OtherAssetsCurrent
9356000
CY2022Q2 us-gaap Assets Current
AssetsCurrent
170519000
CY2021Q4 us-gaap Assets Current
AssetsCurrent
187089000
CY2022Q2 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
10130000
CY2021Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
10757000
CY2022Q2 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
8138000
CY2021Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
9197000
CY2022Q2 us-gaap Goodwill
Goodwill
90421000
CY2022Q2 us-gaap Contract With Customer Asset Net Noncurrent
ContractWithCustomerAssetNetNoncurrent
522000
CY2021Q4 us-gaap Goodwill
Goodwill
96174000
CY2021Q4 us-gaap Contract With Customer Asset Net Noncurrent
ContractWithCustomerAssetNetNoncurrent
195000
CY2022Q2 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
18117000
CY2022Q2 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
10547000
CY2021Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
13803000
CY2022Q2 us-gaap Treasury Stock Common Shares
TreasuryStockCommonShares
1038
CY2021Q4 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
7668000
CY2021Q4 us-gaap Treasury Stock Common Shares
TreasuryStockCommonShares
592
CY2022Q2 us-gaap Deferred Compensation Liability Current
DeferredCompensationLiabilityCurrent
113000
CY2021Q4 us-gaap Deferred Compensation Liability Current
DeferredCompensationLiabilityCurrent
877000
CY2022Q2 us-gaap Treasury Stock Common Value
TreasuryStockCommonValue
18222000
CY2022Q2 us-gaap Liabilities Current
LiabilitiesCurrent
79045000
CY2021Q4 us-gaap Treasury Stock Common Value
TreasuryStockCommonValue
12501000
CY2021Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
21270000
CY2022Q2 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
3515000
CY2021Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
3786000
CY2022Q2 us-gaap Assets
Assets
311909000
CY2021Q4 us-gaap Assets
Assets
342271000
CY2022Q2 us-gaap Accounts Payable Current
AccountsPayableCurrent
9119000
CY2021Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
8204000
CY2022Q2 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
48342000
CY2021Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
54617000
CY2022Q2 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
13425000
CY2021Q4 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
16607000
CY2022Q2 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
1434000
CY2021Q4 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
1103000
CY2022Q2 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
6612000
CY2021Q4 us-gaap Liabilities Current
LiabilitiesCurrent
89076000
CY2022Q2 us-gaap Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
7030000
CY2021Q4 us-gaap Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
9125000
CY2022Q2 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
9193000
CY2021Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
10180000
CY2022Q2 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
7277000
CY2021Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
7770000
CY2022Q2 us-gaap Accrued Income Taxes Noncurrent
AccruedIncomeTaxesNoncurrent
3080000
CY2021Q4 us-gaap Accrued Income Taxes Noncurrent
AccruedIncomeTaxesNoncurrent
5054000
CY2022Q2 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
1942000
CY2021Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
1286000
CY2022Q2 us-gaap Liabilities
Liabilities
107567000
CY2021Q4 us-gaap Liabilities
Liabilities
122491000
CY2022Q2 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
500000
CY2021Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
500000
CY2022Q2 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
CY2022Q2 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
75000000
CY2021Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
75000000
CY2022Q2 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
40635000
CY2021Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
40593000
CY2022Q2 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
39597000
CY2021Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
40001000
CY2022Q2 us-gaap Common Stock Value
CommonStockValue
40000
CY2021Q4 us-gaap Common Stock Value
CommonStockValue
40000
CY2022Q2 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
102140000
CY2021Q2 us-gaap Gross Profit
GrossProfit
34831000
us-gaap Net Income Loss
NetIncomeLoss
-15836000
us-gaap Gross Profit
GrossProfit
72184000
us-gaap Gross Profit
GrossProfit
69073000
CY2022Q2 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
139037000
CY2022Q2 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
311909000
CY2022Q2 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
16381000
CY2021Q2 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
1029000
us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
14972000
CY2021Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
342271000
CY2022Q2 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52790000
CY2021Q2 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
15021000
us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
667000
CY2022Q2 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
-8878000
us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
33979000
CY2022Q2 us-gaap Gross Profit
GrossProfit
35506000
CY2022Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.23
CY2021Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
143173000
CY2022Q2 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-18653000
CY2021Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-11182000
CY2022Q2 us-gaap Stockholders Equity
StockholdersEquity
204342000
CY2021Q4 us-gaap Stockholders Equity
StockholdersEquity
219780000
CY2021Q2 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52277000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
105237000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
103052000
CY2022Q2 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
17284000
CY2021Q2 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
17446000
us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
33053000
us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
32276000
us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
32189000
CY2022Q2 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
12876000
CY2021Q2 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
12096000
us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
26625000
us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
24340000
CY2022Q2 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
13270000
CY2021Q2 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
15039000
us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
28165000
us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
27590000
CY2022Q2 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
1217000
CY2021Q2 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
1534000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
2599000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
3107000
CY2022Q2 us-gaap Operating Expenses
OperatingExpenses
43744000
CY2021Q2 us-gaap Operating Expenses
OperatingExpenses
43690000
us-gaap Operating Expenses
OperatingExpenses
89665000
us-gaap Operating Expenses
OperatingExpenses
87226000
CY2022Q2 us-gaap Operating Income Loss
OperatingIncomeLoss
-8238000
CY2021Q2 us-gaap Operating Income Loss
OperatingIncomeLoss
-8859000
us-gaap Operating Income Loss
OperatingIncomeLoss
-17481000
us-gaap Operating Income Loss
OperatingIncomeLoss
-18153000
CY2022Q2 us-gaap Investment Income Net
InvestmentIncomeNet
35000
CY2021Q2 us-gaap Investment Income Net
InvestmentIncomeNet
2000
us-gaap Investment Income Net
InvestmentIncomeNet
18000
us-gaap Investment Income Net
InvestmentIncomeNet
6000
CY2022Q2 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-675000
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.40
CY2022Q2 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
40157
us-gaap Net Income Loss
NetIncomeLoss
-15836000
CY2021Q2 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
-7828000
us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
-2491000
us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
-17480000
CY2022Q2 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
472000
CY2021Q2 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
-1143000
us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
1645000
us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
-1644000
CY2022Q2 us-gaap Net Income Loss
NetIncomeLoss
-9350000
CY2021Q2 us-gaap Net Income Loss
NetIncomeLoss
-6685000
us-gaap Net Income Loss
NetIncomeLoss
-4136000
CY2022Q2 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
40157
CY2021Q2 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39694
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39870
CY2021Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.17
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.10
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.40
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39692
CY2022Q2 us-gaap Net Income Loss
NetIncomeLoss
-9350000
CY2022Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.23
CY2021Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.17
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.10
CY2021Q2 us-gaap Net Income Loss
NetIncomeLoss
-6685000
us-gaap Net Income Loss
NetIncomeLoss
-4136000
CY2021Q2 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39694
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39870
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39692
CY2022Q2 us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
-5315000
CY2021Q2 us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
549000
us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
-7335000
us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
-370000
CY2022Q2 us-gaap Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
22000
CY2021Q2 us-gaap Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
-8000
us-gaap Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
47000
us-gaap Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
7000
CY2022Q2 us-gaap Other Comprehensive Income Availableforsale Securities Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
-10000
us-gaap Other Comprehensive Income Availableforsale Securities Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
-89000
CY2022Q2 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
-14697000
CY2021Q2 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
-6128000
us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
-11607000
us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
-16213000
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
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
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
us-gaap Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
-2194000
us-gaap Share Based Compensation
ShareBasedCompensation
2613000
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 us-gaap Stockholders Equity
StockholdersEquity
238645000
us-gaap Profit Loss
ProfitLoss
-4136000
us-gaap Profit Loss
ProfitLoss
-15836000
us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
4043000
us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
4582000
us-gaap Gain Loss On Disposition Of Assets
GainLossOnDispositionOfAssets
-1000
us-gaap Gain Loss On Disposition Of Assets
GainLossOnDispositionOfAssets
-19000
us-gaap Income Loss From Equity Method Investments
IncomeLossFromEquityMethodInvestments
14810000
us-gaap Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
729000
us-gaap Share Based Compensation
ShareBasedCompensation
2634000
us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-14798000
us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-12009000
ospn Increase Decrease In Allowance For Doubtful Accounts
IncreaseDecreaseInAllowanceForDoubtfulAccounts
-631000
ospn Increase Decrease In Allowance For Doubtful Accounts
IncreaseDecreaseInAllowanceForDoubtfulAccounts
988000
us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
465000
us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
-3585000
us-gaap Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
1033000
us-gaap Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
-1974000
us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
1202000
us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
1280000
us-gaap Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
-1608000
us-gaap Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
-2652000
us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
-3454000
us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
3660000
us-gaap Increase Decrease In Deferred Compensation
IncreaseDecreaseInDeferredCompensation
-764000
us-gaap Increase Decrease In Deferred Compensation
IncreaseDecreaseInDeferredCompensation
-1031000
us-gaap Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
-7160000
us-gaap Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
-931000
us-gaap Increase Decrease In Other Operating Capital Net
IncreaseDecreaseInOtherOperatingCapitalNet
1871000
us-gaap Increase Decrease In Other Operating Capital Net
IncreaseDecreaseInOtherOperatingCapitalNet
4927000
us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
-11284000
us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
1184000
us-gaap Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
15812000
us-gaap Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
32253000
us-gaap Proceeds From Maturities Prepayments And Calls Of Shortterm Investments
ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
30550000
us-gaap Proceeds From Maturities Prepayments And Calls Of Shortterm Investments
ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
16100000
us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
1039000
us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
1208000
us-gaap Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
13000
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
32560000
us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-17378000
us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
5721000
us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
2908000
us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
14202000
us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-21843000
CY2021Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
64228000
us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
722000
us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
2230000
us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-6443000
us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-5138000
us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
-631000
us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
-511000
CY2020Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
89241000
CY2022Q2 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
78430000
CY2021Q2 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
67398000
CY2022Q2 us-gaap Restricted Cash
RestrictedCash
800000
CY2021Q2 us-gaap Restricted Cash
RestrictedCash
900000
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;">We have revised amounts reported in previously issued financial statements for the periods presented in this Quarterly Report on Form 10-Q to correct prior period immaterial errors. The errors relate to certain costs directly </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">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;">We evaluated the aggregate effects of the errors to our 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 our Annual Reports on Form 10-K for the years ended December 31, 2021 and 2020, or for any quarterly periods included therein or through our Quarterly Report on Form 10-Q for the quarterly period ended June 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table presents the effects of the aforementioned revisions on our unaudited condensed consolidated statements of operations for the three and six months ended June 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-family:'Times New Roman,Bold';font-weight:bold;">Condensed Consolidated Statement of Operations (Unaudited)</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.31%;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.25%;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.46%;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.88%;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.25%;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.46%;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.88%;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.25%;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.46%;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.92%;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.25%;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.46%;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.88%;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.25%;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.46%;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.88%;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.25%;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.46%;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.92%;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.31%;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.25%;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.58%;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 June 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.58%;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;">Six Months Ended June 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.31%;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.25%;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.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.25%;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.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;">Adjustments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.38%;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.25%;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.25%;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.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;">Adjustments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.38%;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.31%;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.25%;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.46%;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.88%;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.25%;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.46%;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.88%;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.25%;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.46%;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.92%;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.25%;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.46%;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.88%;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.25%;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.46%;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.88%;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.25%;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.46%;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.92%;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.31%;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.25%;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.46%;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.88%;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,589</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> 976</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.92%;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;"> 10,565</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> 19,130</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> 2,187</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.92%;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;"> 21,317</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.31%;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.25%;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.46%;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.88%;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;"> 16,470</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> 976</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.92%;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;"> 17,446</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> 31,792</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> 2,187</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.92%;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;"> 33,979</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.31%;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.25%;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.46%;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.88%;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.25%;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.46%;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.88%;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.25%;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.46%;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.92%;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.25%;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.46%;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.88%;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.25%;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.46%;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.88%;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.25%;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.46%;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.92%;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.31%;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.25%;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.46%;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.88%;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;"> 35,807</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> (976)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.92%;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;"> 34,831</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> 71,260</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> (2,187)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.92%;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;"> 69,073</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.31%;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.25%;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.46%;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.88%;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.25%;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.46%;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.88%;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.25%;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.46%;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.92%;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.25%;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.46%;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.88%;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.25%;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.46%;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.88%;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.25%;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.46%;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.92%;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.31%;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.25%;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.46%;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.88%;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.25%;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.46%;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.88%;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.25%;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.46%;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.92%;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.25%;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.46%;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.88%;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.25%;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.46%;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.88%;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.25%;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.46%;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.92%;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.31%;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.25%;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.46%;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.88%;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,997</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> (976)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.92%;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,021</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> 34,376</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> (2,187)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.92%;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;"> 32,189</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.31%;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.25%;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.46%;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.88%;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;"> 44,666</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> (976)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.92%;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;"> 43,690</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> 89,413</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.88%;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;"> (2,187)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;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.46%;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.92%;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;"> 87,226</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.31%;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.25%;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.46%;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.88%;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.25%;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.46%;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.88%;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.25%;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.46%;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.92%;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.25%;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.46%;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.88%;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.25%;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.46%;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.88%;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.25%;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.46%;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.92%;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>
CY2021Q2 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
17446000
us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
33979000
CY2021Q2 us-gaap Gross Profit
GrossProfit
34831000
us-gaap Gross Profit
GrossProfit
69073000
CY2021Q2 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
15021000
us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
32189000
CY2021Q2 us-gaap Operating Expenses
OperatingExpenses
43690000
us-gaap Operating Expenses
OperatingExpenses
87226000
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>
CY2022Q2 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
900000
us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
1300000
CY2021Q2 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
600000
us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
100000
CY2022Q2 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52790000
CY2021Q2 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52277000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
105237000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
103052000
CY2022Q2 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52790000
CY2021Q2 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52277000
CY2022Q2 ospn Revenue From Contract With Customer Including Assessed Tax Percentage
RevenueFromContractWithCustomerIncludingAssessedTaxPercentage
1
CY2021Q2 ospn Revenue From Contract With Customer Including Assessed Tax Percentage
RevenueFromContractWithCustomerIncludingAssessedTaxPercentage
1
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
105237000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
103052000
ospn Revenue From Contract With Customer Including Assessed Tax Percentage
RevenueFromContractWithCustomerIncludingAssessedTaxPercentage
1
ospn Revenue From Contract With Customer Including Assessed Tax Percentage
RevenueFromContractWithCustomerIncludingAssessedTaxPercentage
1
CY2022Q2 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52790000
CY2021Q2 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52277000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
105237000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
103052000
CY2021Q4 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
63742000
us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
31700000
CY2022Q2 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
39863000
CY2021Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
56612000
CY2022Q2 us-gaap Contract With Customer Asset Gross
ContractWithCustomerAssetGross
5669000
CY2021Q4 us-gaap Contract With Customer Asset Gross
ContractWithCustomerAssetGross
4889000
CY2022Q2 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
55372000
CY2022Q2 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
20118000
CY2022Q2 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
22932000
CY2022Q2 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
12706000
CY2022Q2 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
7745000
CY2022Q2 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
63501000
CY2022Q2 us-gaap Capitalized Contract Cost Net Current
CapitalizedContractCostNetCurrent
2495000
CY2021Q4 us-gaap Capitalized Contract Cost Net Current
CapitalizedContractCostNetCurrent
2134000
CY2022Q2 us-gaap Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
9497000
CY2021Q4 us-gaap Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
8675000
CY2022Q2 us-gaap Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
555000
CY2021Q2 us-gaap Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
361000
us-gaap Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
1090000
us-gaap Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
671000
CY2022Q2 us-gaap Inventory Parts And Components Net Of Reserves
InventoryPartsAndComponentsNetOfReserves
4189000
CY2021Q4 us-gaap Inventory Parts And Components Net Of Reserves
InventoryPartsAndComponentsNetOfReserves
3841000
CY2022Q2 us-gaap Inventory Finished Goods And Work In Process Net Of Reserves
InventoryFinishedGoodsAndWorkInProcessNetOfReserves
5808000
CY2021Q4 us-gaap Inventory Finished Goods And Work In Process Net Of Reserves
InventoryFinishedGoodsAndWorkInProcessNetOfReserves
6504000
CY2022Q2 us-gaap Inventory Net
InventoryNet
9997000
CY2021Q4 us-gaap Inventory Net
InventoryNet
10345000
CY2021Q4 us-gaap Goodwill
Goodwill
96174000
us-gaap Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
5753000
CY2022Q2 us-gaap Goodwill
Goodwill
90421000
CY2022Q2 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0
us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0
us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0
CY2021Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
21270000
us-gaap Finitelived Intangible Assets Acquired1
FinitelivedIntangibleAssetsAcquired1
14000
us-gaap Finite Lived Intangible Assets Foreign Currency Translation Gain Loss
FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss
-568000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
2599000
CY2022Q2 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
18117000
CY2022Q2 us-gaap Intangible Assets Gross Excluding Goodwill
IntangibleAssetsGrossExcludingGoodwill
94024000
CY2022Q2 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
75907000
CY2022Q2 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
18117000
us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
0
us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
0
CY2021Q2 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
1567000
CY2022Q2 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
29171000
CY2021Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
28846000
CY2022Q2 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
19041000
CY2021Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
18089000
CY2022Q2 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
10130000
CY2021Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
10757000
CY2022Q2 us-gaap Depreciation
Depreciation
700000
us-gaap Depreciation
Depreciation
1400000
CY2021Q2 us-gaap Depreciation
Depreciation
700000
us-gaap Depreciation
Depreciation
1500000
CY2022Q2 us-gaap Share Based Compensation
ShareBasedCompensation
1253000
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
CY2021Q2 us-gaap Share Based Compensation
ShareBasedCompensation
1292000
CY2021Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
31300000
CY2022Q2 us-gaap Operating Lease Cost
OperatingLeaseCost
882000
CY2021Q2 us-gaap Operating Lease Cost
OperatingLeaseCost
1088000
us-gaap Operating Lease Cost
OperatingLeaseCost
1677000
us-gaap Operating Lease Cost
OperatingLeaseCost
1991000
CY2022Q2 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P6Y2M12D
CY2022Q2 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.05
us-gaap Operating Lease Payments
OperatingLeasePayments
1700000
us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
400000
CY2022Q2 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
1351000
CY2022Q2 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
2537000
CY2022Q2 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
1840000
CY2022Q2 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
1737000
CY2022Q2 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
1679000
CY2022Q2 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
4326000
CY2022Q2 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
2152000
CY2022Q2 us-gaap Operating Lease Liability
OperatingLeaseLiability
11318000
us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.24
us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21
CY2022Q2 us-gaap Income Taxes Paid
IncomeTaxesPaid
1700000
us-gaap Income Taxes Paid
IncomeTaxesPaid
2000000.0
us-gaap Share Based Compensation
ShareBasedCompensation
2613000
us-gaap Share Based Compensation
ShareBasedCompensation
2634000
CY2022Q2 us-gaap Deferred Compensation Arrangement With Individual Compensation Expense
DeferredCompensationArrangementWithIndividualCompensationExpense
24000
CY2021Q2 us-gaap Deferred Compensation Arrangement With Individual Compensation Expense
DeferredCompensationArrangementWithIndividualCompensationExpense
275000
us-gaap Deferred Compensation Arrangement With Individual Compensation Expense
DeferredCompensationArrangementWithIndividualCompensationExpense
-112000
us-gaap Deferred Compensation Arrangement With Individual Compensation Expense
DeferredCompensationArrangementWithIndividualCompensationExpense
474000
CY2022Q2 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
1277000
us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
2501000
us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
3108000
CY2022Q2 us-gaap Net Income Loss
NetIncomeLoss
-9350000
CY2021Q2 us-gaap Net Income Loss
NetIncomeLoss
-6685000
us-gaap Net Income Loss
NetIncomeLoss
-4136000
us-gaap Net Income Loss
NetIncomeLoss
-15836000
CY2022Q2 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
40157
CY2021Q2 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39694
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39870
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
39692
CY2022Q2 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
40157
CY2021Q2 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39694
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39870
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
39692
CY2022Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.23
CY2021Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.17
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.10
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.40
CY2022Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.23
CY2021Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.17
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.10
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.40
CY2022Q2 us-gaap Loss Contingency Accrual At Carrying Value
LossContingencyAccrualAtCarryingValue
0
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
103052000
CY2022Q2 us-gaap Restructuring Costs
RestructuringCosts
2688000
us-gaap Restructuring Costs
RestructuringCosts
5348000
us-gaap Number Of Operating Segments
NumberOfOperatingSegments
2
CY2022Q2 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52790000
CY2021Q2 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
52277000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
105237000
CY2022Q2 us-gaap Gross Profit
GrossProfit
35506000
CY2021Q2 us-gaap Gross Profit
GrossProfit
34831000
us-gaap Gross Profit
GrossProfit
72184000
us-gaap Gross Profit
GrossProfit
69073000
CY2022Q2 ospn Gross Margin Percentage
GrossMarginPercentage
0.67
CY2021Q2 ospn Gross Margin Percentage
GrossMarginPercentage
0.67
ospn Gross Margin Percentage
GrossMarginPercentage
0.69
ospn Gross Margin Percentage
GrossMarginPercentage
0.67
CY2022Q2 us-gaap Operating Income Loss
OperatingIncomeLoss
-8238000
CY2021Q2 us-gaap Operating Income Loss
OperatingIncomeLoss
-8859000
us-gaap Operating Income Loss
OperatingIncomeLoss
-17481000
us-gaap Operating Income Loss
OperatingIncomeLoss
-18153000
CY2022Q2 us-gaap Investment Income Net
InvestmentIncomeNet
35000
CY2021Q2 us-gaap Investment Income Net
InvestmentIncomeNet
2000
us-gaap Investment Income Net
InvestmentIncomeNet
18000
us-gaap Investment Income Net
InvestmentIncomeNet
6000
CY2022Q2 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-675000
CY2021Q2 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
1029000
us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
14972000
us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
667000
CY2022Q2 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
-8878000
CY2021Q2 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
-7828000
us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
-2491000
us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
-17480000

Files In Submission

Name View Source Status
0001558370-22-012167-index-headers.html Edgar Link pending
0001558370-22-012167-index.html Edgar Link pending
0001558370-22-012167.txt Edgar Link pending
0001558370-22-012167-xbrl.zip Edgar Link pending
FilingSummary.xml Edgar Link unprocessable
Financial_Report.xlsx Edgar Link pending
MetaLinks.json Edgar Link pending
ospn-20220630.xsd Edgar Link pending
ospn-20220630x10q.htm Edgar Link pending
ospn-20220630x10q_htm.xml Edgar Link completed
ospn-20220630xex10d1.htm Edgar Link pending
ospn-20220630xex10d1001.jpg Edgar Link pending
ospn-20220630xex31d1.htm Edgar Link pending
ospn-20220630xex31d2.htm Edgar Link pending
ospn-20220630xex32d1.htm Edgar Link pending
ospn-20220630xex32d2.htm Edgar Link pending
ospn-20220630xex3d1.htm Edgar Link pending
ospn-20220630xex3d1001.jpg Edgar Link pending
ospn-20220630_cal.xml Edgar Link unprocessable
ospn-20220630_def.xml Edgar Link unprocessable
ospn-20220630_lab.xml Edgar Link unprocessable
ospn-20220630_pre.xml Edgar Link unprocessable
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
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
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