2020 Q4 Form 10-K Financial Statement
#000143774921005696 Filed on March 11, 2021
Income Statement
Concept | 2020 Q4 | 2020 Q3 | 2020 Q2 |
---|---|---|---|
Revenue | $22.37M | $23.11M | $21.41M |
YoY Change | -0.86% | 5.47% | 4.09% |
Cost Of Revenue | $9.839M | $9.493M | $8.946M |
YoY Change | 8.61% | 8.93% | 14.22% |
Gross Profit | $12.53M | $13.62M | $12.46M |
YoY Change | -7.22% | 3.18% | -2.14% |
Gross Profit Margin | 56.01% | 58.93% | 58.21% |
Selling, General & Admin | $8.630M | $8.420M | $7.737M |
YoY Change | 35.69% | 40.57% | 11.48% |
% of Gross Profit | 68.89% | 61.83% | 62.08% |
Research & Development | $9.980M | $8.328M | $7.754M |
YoY Change | 14.06% | -1.27% | 6.04% |
% of Gross Profit | 79.66% | 61.15% | 62.22% |
Depreciation & Amortization | $2.200M | $1.960M | $2.030M |
YoY Change | 8.37% | -2.0% | 23.78% |
% of Gross Profit | 17.56% | 14.39% | 16.29% |
Operating Expenses | $18.83M | $16.75M | $15.49M |
YoY Change | 23.15% | 14.72% | 7.53% |
Operating Profit | -$6.302M | -$3.129M | -$3.028M |
YoY Change | 252.66% | 123.5% | 81.32% |
Interest Expense | -$740.0K | -$360.0K | -$150.0K |
YoY Change | 2366.67% | -280.0% | -236.36% |
% of Operating Profit | |||
Other Income/Expense, Net | -$361.0K | -$150.0K | |
YoY Change | -278.71% | -235.14% | |
Pretax Income | -$7.040M | -$3.664M | -$3.352M |
YoY Change | 288.95% | 205.84% | 115.01% |
Income Tax | $26.41M | -$930.0K | $300.0K |
% Of Pretax Income | |||
Net Earnings | -$33.45M | -$2.734M | -$3.652M |
YoY Change | 2414.96% | 297.96% | 414.37% |
Net Earnings / Revenue | -149.55% | -11.83% | -17.06% |
Basic Earnings Per Share | -$0.91 | -$0.08 | -$0.11 |
Diluted Earnings Per Share | -$0.91 | -$0.08 | -$0.11 |
COMMON SHARES | |||
Basic Shares Outstanding | 36.63M | 35.48M | 32.89M |
Diluted Shares Outstanding | 35.48M | 32.89M |
Balance Sheet
Concept | 2020 Q4 | 2020 Q3 | 2020 Q2 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $145.3M | $168.4M | $103.4M |
YoY Change | 48.87% | 67.9% | 19.12% |
Cash & Equivalents | $30.32M | $118.4M | $103.4M |
Short-Term Investments | $115.0M | $50.00M | |
Other Short-Term Assets | $10.20M | $5.500M | $5.200M |
YoY Change | 78.95% | 10.0% | -20.0% |
Inventory | |||
Prepaid Expenses | |||
Receivables | $34.14M | $40.39M | $28.67M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $193.4M | $218.1M | $140.7M |
YoY Change | 31.04% | 52.66% | -4.94% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $39.24M | $39.49M | $40.41M |
YoY Change | -3.81% | 1.33% | 12.74% |
Goodwill | $15.77M | $2.300M | $2.300M |
YoY Change | 587.92% | 0.31% | 521.62% |
Intangibles | $24.57M | ||
YoY Change | 295.0% | ||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $7.690M | $8.282M | $8.093M |
YoY Change | -20.88% | 3.2% | 11.11% |
Total Long-Term Assets | $94.20M | $92.54M | $92.96M |
YoY Change | 2.43% | 6.98% | 13.88% |
TOTAL ASSETS | |||
Total Short-Term Assets | $193.4M | $218.1M | $140.7M |
Total Long-Term Assets | $94.20M | $92.54M | $92.96M |
Total Assets | $287.6M | $310.6M | $233.7M |
YoY Change | 20.05% | 35.43% | 1.75% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $4.399M | $2.212M | $2.763M |
YoY Change | -42.39% | 0.41% | 52.4% |
Accrued Expenses | $6.309M | $3.001M | $1.368M |
YoY Change | 278.92% | 22.39% | -43.09% |
Deferred Revenue | $19.90M | $19.07M | $10.09M |
YoY Change | 87.0% | 121.48% | 11.75% |
Short-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Long-Term Debt Due | |||
YoY Change | |||
Total Short-Term Liabilities | $42.21M | $32.88M | $21.88M |
YoY Change | 50.75% | 59.4% | 2.42% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Other Long-Term Liabilities | $1.397M | $1.054M | $1.814M |
YoY Change | -40.45% | -56.87% | 4.43% |
Total Long-Term Liabilities | $1.397M | $1.054M | $1.814M |
YoY Change | -40.45% | -56.87% | 4.43% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $42.21M | $32.88M | $21.88M |
Total Long-Term Liabilities | $1.397M | $1.054M | $1.814M |
Total Liabilities | $53.07M | $45.83M | $35.99M |
YoY Change | 22.33% | 33.38% | 3.48% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | -$76.23M | -$42.78M | -$40.05M |
YoY Change | 112.53% | 23.87% | 18.31% |
Common Stock | $6.000K | $5.000K | $5.000K |
YoY Change | 20.0% | 0.0% | 0.0% |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | $96.22M | $94.99M | $93.97M |
YoY Change | 4.93% | 4.49% | 6.39% |
Treasury Stock Shares | $9.550M | $9.491M | $9.439M |
Shareholders Equity | $234.5M | $264.8M | $197.7M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $287.6M | $310.6M | $233.7M |
YoY Change | 20.05% | 35.43% | 1.75% |
Cashflow Statement
Concept | 2020 Q4 | 2020 Q3 | 2020 Q2 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | -$33.45M | -$2.734M | -$3.652M |
YoY Change | 2414.96% | 297.96% | 414.37% |
Depreciation, Depletion And Amortization | $2.200M | $1.960M | $2.030M |
YoY Change | 8.37% | -2.0% | 23.78% |
Cash From Operating Activities | $10.90M | $250.0K | $5.250M |
YoY Change | 589.87% | -98.61% | 2.54% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$1.600M | -$1.430M | -$1.870M |
YoY Change | -56.28% | -49.65% | 10.65% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | -$93.55M | -$49.98M | $0.00 |
YoY Change | 187000.0% | -100.0% | |
Cash From Investing Activities | -$95.15M | -$51.41M | -$1.870M |
YoY Change | 2464.69% | 1710.21% | -56.51% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | |||
YoY Change | |||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | -400.0K | 66.04M | -330.0K |
YoY Change | -34.43% | -4054.49% | -92.48% |
NET CHANGE | |||
Cash From Operating Activities | 10.90M | 250.0K | 5.250M |
Cash From Investing Activities | -95.15M | -51.41M | -1.870M |
Cash From Financing Activities | -400.0K | 66.04M | -330.0K |
Net Change In Cash | -84.65M | 14.88M | 3.050M |
YoY Change | 2989.42% | 9.98% | -185.43% |
FREE CASH FLOW | |||
Cash From Operating Activities | $10.90M | $250.0K | $5.250M |
Capital Expenditures | -$1.600M | -$1.430M | -$1.870M |
Free Cash Flow | $12.50M | $1.680M | $7.120M |
YoY Change | 138.55% | -91.95% | 4.55% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2021Q1 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
37145127 | |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
963000 | USD |
CY2019Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
213000 | USD |
CY2020Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
USD | |
CY2019Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
USD | |
CY2020Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.00015 | |
CY2019Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.00015 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
5000000 | |
CY2019Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
5000000 | |
CY2020Q4 | us-gaap |
Goodwill
Goodwill
|
15774000 | USD |
CY2020Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2019Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2019Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2020Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.00015 | |
CY2019Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.00015 | |
CY2020Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
70000000 | |
CY2019Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
70000000 | |
CY2020Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
46400000 | |
CY2019Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
41797000 | |
CY2020Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
36850000 | |
CY2019Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
32503000 | |
CY2020Q4 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
9550000 | |
CY2019Q4 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
9294000 | |
CY2020 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
1 | pure |
CY2020 | us-gaap |
Number Of Reporting Units
NumberOfReportingUnits
|
1 | pure |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Award Vesting Period1
ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
|
P4Y | |
CY2020 | us-gaap |
Capitalized Contract Cost Impairment Loss
CapitalizedContractCostImpairmentLoss
|
0 | USD |
CY2019 | us-gaap |
Capitalized Contract Cost Impairment Loss
CapitalizedContractCostImpairmentLoss
|
0 | USD |
CY2019 | us-gaap |
Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
|
0 | USD |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
|
5.00 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
|
5.75 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.21 | pure |
CY2019Q4 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
|
800000 | USD |
CY2020 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
1 | pure |
CY2020 | us-gaap |
Number Of Reportable Segments
NumberOfReportableSegments
|
1 | pure |
CY2020Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
30315000 | USD |
CY2019Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
97605000 | USD |
CY2020Q4 | us-gaap |
Short Term Investments
ShortTermInvestments
|
114981000 | USD |
CY2019Q4 | us-gaap |
Short Term Investments
ShortTermInvestments
|
0 | USD |
CY2020Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
34140000 | USD |
CY2019Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
40651000 | USD |
CY2020Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
13944000 | USD |
CY2019Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
9320000 | USD |
CY2020Q4 | us-gaap |
Assets Current
AssetsCurrent
|
193380000 | USD |
CY2019Q4 | us-gaap |
Assets Current
AssetsCurrent
|
147576000 | USD |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
39242000 | USD |
CY2019Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
40798000 | USD |
CY2020Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
6672000 | USD |
CY2019Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
7609000 | USD |
CY2019Q4 | us-gaap |
Goodwill
Goodwill
|
2293000 | USD |
CY2020Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
24573000 | USD |
CY2019Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
6221000 | USD |
CY2020Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
249000 | USD |
CY2019Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
25327000 | USD |
CY2020Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
7690000 | USD |
CY2019Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
9720000 | USD |
CY2020Q4 | us-gaap |
Assets
Assets
|
287580000 | USD |
CY2019Q4 | us-gaap |
Assets
Assets
|
239544000 | USD |
CY2020Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
4399000 | USD |
CY2019Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
7636000 | USD |
CY2020Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
8339000 | USD |
CY2019Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
5072000 | USD |
CY2020Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
6309000 | USD |
CY2019Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
1665000 | USD |
CY2020Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
1926000 | USD |
CY2019Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
1867000 | USD |
CY2020Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
19895000 | USD |
CY2019Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
10639000 | USD |
CY2020Q4 | pdfs |
Contract With Customer Liability Billings In Excess Of Revenue Recognized
ContractWithCustomerLiabilityBillingsInExcessOfRevenueRecognized
|
1337000 | USD |
CY2019Q4 | pdfs |
Contract With Customer Liability Billings In Excess Of Revenue Recognized
ContractWithCustomerLiabilityBillingsInExcessOfRevenueRecognized
|
1117000 | USD |
CY2020Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
42205000 | USD |
CY2019Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
27996000 | USD |
CY2020Q4 | us-gaap |
Accrued Income Taxes Noncurrent
AccruedIncomeTaxesNoncurrent
|
2956000 | USD |
CY2019Q4 | us-gaap |
Accrued Income Taxes Noncurrent
AccruedIncomeTaxesNoncurrent
|
5368000 | USD |
CY2020Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
6516000 | USD |
CY2019Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
7677000 | USD |
CY2020Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
1397000 | USD |
CY2019Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
2346000 | USD |
CY2020Q4 | us-gaap |
Liabilities
Liabilities
|
53074000 | USD |
CY2019Q4 | us-gaap |
Liabilities
Liabilities
|
43387000 | USD |
CY2020Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | USD |
CY2019Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | USD |
CY2020Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
6000 | USD |
CY2019Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
5000 | USD |
CY2020Q4 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
407173000 | USD |
CY2019Q4 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
325197000 | USD |
CY2020Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
96215000 | USD |
CY2019Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
91695000 | USD |
CY2020Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
-76233000 | USD |
CY2019Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
-35870000 | USD |
CY2020Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-225000 | USD |
CY2019Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-1480000 | USD |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
234506000 | USD |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
196157000 | USD |
CY2020Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
287580000 | USD |
CY2019Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
239544000 | USD |
CY2020 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
88046000 | USD |
CY2019 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
85585000 | USD |
CY2020 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
36765000 | USD |
CY2019 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
33474000 | USD |
CY2020 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
34654000 | USD |
CY2019 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
32747000 | USD |
CY2020 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
32677000 | USD |
CY2019 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
26299000 | USD |
CY2020 | pdfs |
Amortization Of Other Acquired Intangibleassets
AmortizationOfOtherAcquiredIntangibleassets
|
741000 | USD |
CY2019 | pdfs |
Amortization Of Other Acquired Intangibleassets
AmortizationOfOtherAcquiredIntangibleassets
|
609000 | USD |
CY2020 | us-gaap |
Restructuring Charges
RestructuringCharges
|
0 | USD |
CY2019 | us-gaap |
Restructuring Charges
RestructuringCharges
|
92000 | USD |
CY2020 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-1269000 | USD |
CY2019 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
276000 | USD |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-18060000 | USD |
CY2019 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-7360000 | USD |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
22303000 | USD |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-1942000 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-40363000 | USD |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-5418000 | USD |
CY2020 | us-gaap |
Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
|
1253000 | USD |
CY2019 | us-gaap |
Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
|
-204000 | USD |
CY2020 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
2000 | USD |
CY2019 | us-gaap |
Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
|
0 | USD |
CY2020 | us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
1255000 | USD |
CY2019 | us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
-204000 | USD |
CY2020 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
-39108000 | USD |
CY2019 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
-5622000 | USD |
CY2020 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-1.17 | |
CY2019 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.17 | |
CY2020 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-1.17 | |
CY2019 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.17 | |
CY2020 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
34458000 | |
CY2019 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
32411000 | |
CY2020 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
34458000 | |
CY2019 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
32411000 | |
CY2018Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
199795000 | USD |
CY2019 | us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
1534000 | USD |
CY2019 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
1289000 | USD |
CY2019 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Gross
StockIssuedDuringPeriodValueRestrictedStockAwardGross
|
0 | USD |
CY2019 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
2786000 | USD |
CY2019 | us-gaap |
Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
|
9767000 | USD |
CY2019 | us-gaap |
Adjustments To Additional Paid In Capital Share Based Compensation Stock Options Requisite Service Period Recognition
AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
|
11714000 | USD |
CY2019 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
-5622000 | USD |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
196157000 | USD |
CY2020 | pdfs |
Stock Issued During Period Value Private Placement
StockIssuedDuringPeriodValuePrivatePlacement
|
65078000 | USD |
CY2020 | us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
1670000 | USD |
CY2020 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
2570000 | USD |
CY2020 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Gross
StockIssuedDuringPeriodValueRestrictedStockAwardGross
|
0 | USD |
CY2020 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
4520000 | USD |
CY2020 | us-gaap |
Adjustments To Additional Paid In Capital Share Based Compensation Stock Options Requisite Service Period Recognition
AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
|
12659000 | USD |
CY2020 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
-39108000 | USD |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
234506000 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-40363000 | USD |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-5418000 | USD |
CY2020 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
6725000 | USD |
CY2019 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
6029000 | USD |
CY2020 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
12463000 | USD |
CY2019 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
11423000 | USD |
CY2020 | pdfs |
Amortization Of Acquired Intangible Assets
AmortizationOfAcquiredIntangibleAssets
|
1446000 | USD |
CY2019 | pdfs |
Amortization Of Acquired Intangible Assets
AmortizationOfAcquiredIntangibleAssets
|
1183000 | USD |
CY2020 | us-gaap |
Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
|
549000 | USD |
CY2019 | us-gaap |
Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
|
448000 | USD |
CY2020 | us-gaap |
Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
0 | USD |
CY2019 | us-gaap |
Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
36000 | USD |
CY2020 | us-gaap |
Gain Loss On Disposition Of Assets
GainLossOnDispositionOfAssets
|
-500000 | USD |
CY2019 | us-gaap |
Gain Loss On Disposition Of Assets
GainLossOnDispositionOfAssets
|
-130000 | USD |
CY2020 | us-gaap |
Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
|
25000 | USD |
CY2019 | us-gaap |
Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
|
-0 | USD |
CY2020 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
21007000 | USD |
CY2019 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-4532000 | USD |
CY2020 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-8101000 | USD |
CY2019 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-10919000 | USD |
CY2020 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
433000 | USD |
CY2019 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
810000 | USD |
CY2020 | pdfs |
Increase Decrease In Operating Lease Right Of Use Assets
IncreaseDecreaseInOperatingLeaseRightOfUseAssets
|
-1193000 | USD |
CY2019 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
9639000 | USD |
CY2020 | us-gaap |
Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
|
-0 | USD |
CY2019 | us-gaap |
Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
|
206000 | USD |
CY2020 | us-gaap |
Proceeds From Stock Plans
ProceedsFromStockPlans
|
1670000 | USD |
CY2019 | us-gaap |
Proceeds From Stock Plans
ProceedsFromStockPlans
|
1534000 | USD |
CY2020 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
4520000 | USD |
CY2019 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
2685000 | USD |
CY2020 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
-0 | USD |
CY2019 | pdfs |
Increase Decrease In Operating Lease Right Of Use Assets
IncreaseDecreaseInOperatingLeaseRightOfUseAssets
|
-1394000 | USD |
CY2020 | us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
-2069000 | USD |
CY2019 | us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
-758000 | USD |
CY2020 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-918000 | USD |
CY2019 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
807000 | USD |
CY2020 | us-gaap |
Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
|
1926000 | USD |
CY2019 | us-gaap |
Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
|
261000 | USD |
CY2020 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
928000 | USD |
CY2019 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-597000 | USD |
CY2020 | us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
7755000 | USD |
CY2019 | us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
3410000 | USD |
CY2020 | pdfs |
Increase Decrease Contract With Customer Liability Revenue Recognized
IncreaseDecreaseContractWithCustomerLiabilityRevenueRecognized
|
220000 | USD |
CY2019 | pdfs |
Increase Decrease Contract With Customer Liability Revenue Recognized
IncreaseDecreaseContractWithCustomerLiabilityRevenueRecognized
|
482000 | USD |
CY2020 | pdfs |
Increase Decrease In Operating Lease Liabilities
IncreaseDecreaseInOperatingLeaseLiabilities
|
-1360000 | USD |
CY2019 | pdfs |
Increase Decrease In Operating Lease Liabilities
IncreaseDecreaseInOperatingLeaseLiabilities
|
-1333000 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
21783000 | USD |
CY2019 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
24590000 | USD |
CY2020 | us-gaap |
Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
|
131454000 | USD |
CY2019 | us-gaap |
Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
|
-0 | USD |
CY2020 | us-gaap |
Proceeds From Maturities Prepayments And Calls Of Shortterm Investments
ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
|
16500000 | USD |
CY2019 | us-gaap |
Proceeds From Maturities Prepayments And Calls Of Shortterm Investments
ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
|
0 | USD |
CY2020 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
6005000 | USD |
CY2019 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
10552000 | USD |
CY2020 | pdfs |
Prepayments To Acquire Property Plant And Equipment
PrepaymentsToAcquirePropertyPlantAndEquipment
|
963000 | USD |
CY2019 | pdfs |
Prepayments To Acquire Property Plant And Equipment
PrepaymentsToAcquirePropertyPlantAndEquipment
|
-0 | USD |
CY2020 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
28580000 | USD |
CY2019 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
2660000 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-150502000 | USD |
CY2019 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-13212000 | USD |
CY2020 | us-gaap |
Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
|
65078000 | USD |
CY2019 | us-gaap |
Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
|
0 | USD |
CY2020 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
2570000 | USD |
CY2019 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
1161000 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
64798000 | USD |
CY2019 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-9835000 | USD |
CY2020 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
131000 | USD |
CY2019 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
-27000 | USD |
CY2020 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-63790000 | USD |
CY2019 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
1516000 | USD |
CY2019Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
97605000 | USD |
CY2018Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
96089000 | USD |
CY2020Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
33815000 | USD |
CY2019Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
97605000 | USD |
CY2020Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
30315000 | USD |
CY2019Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
97605000 | USD |
CY2020Q4 | us-gaap |
Restricted Cash
RestrictedCash
|
3500000 | USD |
CY2020Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
33815000 | USD |
CY2019Q4 | us-gaap |
Restricted Cash
RestrictedCash
|
0 | USD |
CY2019Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
97605000 | USD |
CY2020 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
2707000 | USD |
CY2019 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
2693000 | USD |
CY2020 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
2022000 | USD |
CY2019 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
1775000 | USD |
CY2020 | us-gaap |
Employee Service Share Based Compensation Allocation Of Recognized Period Costs Capitalized Amount
EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
|
190000 | USD |
CY2019 | us-gaap |
Employee Service Share Based Compensation Allocation Of Recognized Period Costs Capitalized Amount
EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
|
309000 | USD |
CY2020 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
133000 | USD |
CY2019 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
1107000 | USD |
CY2020 | pdfs |
Advances For Purchase Of Fixed Assets Transferred From Prepaid Assets To Property And Equipment
AdvancesForPurchaseOfFixedAssetsTransferredFromPrepaidAssetsToPropertyAndEquipment
|
0 | USD |
CY2019 | pdfs |
Advances For Purchase Of Fixed Assets Transferred From Prepaid Assets To Property And Equipment
AdvancesForPurchaseOfFixedAssetsTransferredFromPrepaidAssetsToPropertyAndEquipment
|
1416000 | USD |
CY2020 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
286000 | USD |
CY2019 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
333000 | USD |
CY2020 | pdfs |
Common Shares Repurchased From Cashless Exercise Of Stock Options
CommonSharesRepurchasedFromCashlessExerciseOfStockOptions
|
0 | USD |
CY2019 | pdfs |
Common Shares Repurchased From Cashless Exercise Of Stock Options
CommonSharesRepurchasedFromCashlessExerciseOfStockOptions
|
128000 | USD |
CY2020 | us-gaap |
Use Of Estimates
UseOfEstimates
|
<p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 0pt;"><b><i>Use of Estimates</i></b></p> <p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"> </p> <p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 18pt;">The preparation of financial statements in conformity with generally accepted accounting principles in the United States (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these financial statements include revenue recognition, the estimated useful lives of property and equipment and intangible assets, assumptions made in analysis of allowance for doubtful accounts, fair values of assets acquired and liabilities assumed in business combinations, impairment of goodwill and long-lived assets, valuation for deferred tax assets, and accounting for lease obligations, stock-based compensation expense, and income tax uncertainties and contingencies. Actual results could differ from those estimates and <em style="font: inherit;"> may </em>result in material effects on the Company’s operating results and financial position.</p> <p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 18pt;"> </p> <p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 18pt;">The global COVID-<em style="font: inherit;">19</em> pandemic has impacted the operations and purchasing decisions of companies worldwide. It also has created and <em style="font: inherit;"> may </em>continue to create significant uncertainty in the global economy. The Company has undertaken measures to protect its employees, partners, customers, and vendors. In addition, the Company’s personnel worldwide are subject to various travel restrictions, which limit the ability of the Company to provide services to customers and affiliates. This impacts the Company’s normal operations. The Company believes the lack of an ability to meet face-to-face in most of <em style="font: inherit;">2020</em> <em style="font: inherit;"> may </em>have made it harder for us to sell complex or new technologies to new customers during <em style="font: inherit;">2020.</em> If the Company can again begin to meet with customers face-to-face, the Company <em style="font: inherit;"> may </em>improve traction with such new customers. To date, the Company has been able to provide uninterrupted access to its products and services due to its globally distributed workforce, many of whom are working remotely, and its pre-existing infrastructure that supports secure access to the Company’s internal systems. If, however, the COVID-<em style="font: inherit;">19</em> pandemic has a substantial impact on the productivity of the Company’s employees or its partners’ or customers’ decision to use the Company’s products and services, the results of the Company’s operations and overall financial performance <em style="font: inherit;"> may </em>be adversely impacted. The duration and extent of the impact from the COVID-<em style="font: inherit;">19</em> pandemic depends on future developments that cannot be accurately predicted at this time. As of the date of issuance of the financial statements, the Company is <em style="font: inherit;">not</em> aware of any specific event or circumstance that would require updates to the Company’s estimates and judgments or revisions to the carrying value of its assets or liabilities. These estimates <em style="font: inherit;"> may </em>change, as new events occur and additional information is obtained, and are recognized in the consolidated financial statements as soon as they become known. Actual results could differ from those estimates and any such differences <em style="font: inherit;"> may </em>be material to the financial statements.</p> <p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 18pt;"> </p> | |
CY2020 | us-gaap |
Concentration Risk Credit Risk
ConcentrationRiskCreditRisk
|
<p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"><b><i>Concentration of Credit Risk</i></b> </p> <p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"> </p> <p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 18pt;">Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, short -term investments, and accounts receivable. The Company maintains its cash and cash equivalents and short-term investments with what it considers high credit quality financial institutions.</p> <p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 18pt;"> </p> <p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 18pt;">The Company primarily sells its products and services to companies in Asia, Europe and North America within the semiconductor industry. As of <em style="font: inherit;"> December 31, 2020</em>, <span style="-sec-ix-hidden:c70520080">two</span> customers accounted for 27% of the Company’s gross accounts receivable and <span style="-sec-ix-hidden:c70520086">one</span> customer accounted for 23% of the Company’s revenues for <em style="font: inherit;">2020</em>. As of <em style="font: inherit;"> December 31, 2019</em>, <span style="-sec-ix-hidden:c70520095">three</span> customers accounted for 53% of the Company’s gross accounts receivable and <span style="-sec-ix-hidden:c70520101">one</span> customer accounted for 31% of the Company’s revenues for <em style="font: inherit;">2019</em>. See Note <em style="font: inherit;">14</em> for further details. The Company does <em style="font: inherit;">not</em> require collateral or other security to support accounts receivable. To reduce credit risk, management performs ongoing credit evaluations of its customers’ financial condition. The Company maintains allowances for potential credit losses. </p> <p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 18pt;"> </p> <p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 18pt;">The allowance for doubtful accounts, which was based on management’s best estimates, could be adjusted in the near term from current estimates depending on actual experience. Such adjustments could be material to the consolidated financial statements. </p> <p style="font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt; text-align: justify;"> </p> | |
CY2020 | us-gaap |
Gain Loss On Investments
GainLossOnInvestments
|
0 | USD |
CY2020 | us-gaap |
Impairment Of Investments
ImpairmentOfInvestments
|
0 | USD |
CY2019Q4 | us-gaap |
Short Term Investments
ShortTermInvestments
|
0 | USD |
CY2020Q4 | us-gaap |
Unbilled Receivables Current
UnbilledReceivablesCurrent
|
7200000 | USD |
CY2019Q4 | us-gaap |
Unbilled Receivables Current
UnbilledReceivablesCurrent
|
7400000 | USD |
CY2020Q4 | pdfs |
Contract With Customer Asset Unbilled Receivables Not Billable Amount Expected To Be Collected After Next Twelve Months
ContractWithCustomerAssetUnbilledReceivablesNotBillableAmountExpectedToBeCollectedAfterNextTwelveMonths
|
2000000.0 | USD |
CY2019Q4 | pdfs |
Contract With Customer Asset Unbilled Receivables Not Billable Amount Expected To Be Collected After Next Twelve Months
ContractWithCustomerAssetUnbilledReceivablesNotBillableAmountExpectedToBeCollectedAfterNextTwelveMonths
|
4100000 | USD |
CY2020 | pdfs |
Percent Of Revenue
PercentOfRevenue
|
1 | pure |
CY2019 | pdfs |
Percent Of Revenue
PercentOfRevenue
|
1 | pure |
CY2020Q4 | us-gaap |
Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
|
1200000 | USD |
CY2020 | us-gaap |
Contract With Customer Performance Obligation Satisfied In Previous Period
ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod
|
100000 | USD |
CY2019 | us-gaap |
Contract With Customer Performance Obligation Satisfied In Previous Period
ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod
|
3200000 | USD |
CY2020 | us-gaap |
Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
|
500000 | USD |
CY2019 | us-gaap |
Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
|
400000 | USD |
CY2019Q4 | us-gaap |
Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
|
2300000 | USD |
CY2020 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
10700000 | USD |
CY2019 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
8800000 | USD |
CY2020Q4 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
108100000 | USD |
CY2020Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
75537000 | USD |
CY2019Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
70218000 | USD |
CY2020Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
36295000 | USD |
CY2019Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
29420000 | USD |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
39242000 | USD |
CY2019Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
40798000 | USD |
CY2020 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
6700000 | USD |
CY2019 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
6000000.0 | USD |
CY2020Q4 | us-gaap |
Goodwill
Goodwill
|
15800000 | USD |
CY2019Q4 | us-gaap |
Goodwill
Goodwill
|
2300000 | USD |
CY2019Q4 | us-gaap |
Goodwill
Goodwill
|
2293000 | USD |
CY2018Q4 | us-gaap |
Goodwill
Goodwill
|
2293000 | USD |
CY2020 | us-gaap |
Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
|
13481000 | USD |
CY2019 | us-gaap |
Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
|
0 | USD |
CY2020Q4 | us-gaap |
Goodwill
Goodwill
|
15774000 | USD |
CY2019Q4 | us-gaap |
Goodwill
Goodwill
|
2293000 | USD |
CY2020Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
24600000 | USD |
CY2019Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
6200000 | USD |
CY2020Q4 | pdfs |
Intangible Assets Gross
IntangibleAssetsGross
|
47288000 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
22715000 | USD |
CY2020Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
24573000 | USD |
CY2019Q4 | pdfs |
Intangible Assets Gross
IntangibleAssetsGross
|
27490000 | USD |
CY2019Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
21269000 | USD |
CY2019Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
6221000 | USD |
CY2020 | us-gaap |
Finite Lived Intangible Assets Remaining Amortization Period1
FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1
|
P7Y4M24D | |
CY2020 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
1400000 | USD |
CY2019 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
1200000 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
|
3221000 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
|
3013000 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
|
2990000 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
|
2592000 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
|
2427000 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
|
6695000 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
20938000 | USD |
CY2020 | us-gaap |
Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
|
0 | USD |
CY2020 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
1828000 | USD |
CY2019 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
1840000 | USD |
CY2020 | pdfs |
Shortterm And Variable Lease Cost
ShorttermAndVariableLeaseCost
|
545000 | USD |
CY2019 | pdfs |
Shortterm And Variable Lease Cost
ShorttermAndVariableLeaseCost
|
492000 | USD |
CY2020 | us-gaap |
Lease Cost
LeaseCost
|
2373000 | USD |
CY2019 | us-gaap |
Lease Cost
LeaseCost
|
2332000 | USD |
CY2020Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P6Y4M24D | |
CY2019Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P7Y2M12D | |
CY2020Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.0524 | pure |
CY2019Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.0525 | pure |
CY2020 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
286000 | USD |
CY2019 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
333000 | USD |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
1967000 | USD |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
1704000 | USD |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
1387000 | USD |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
1074000 | USD |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
1091000 | USD |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
|
2703000 | USD |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
9926000 | USD |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
1484000 | USD |
CY2020Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
8442000 | USD |
CY2020Q4 | pdfs |
Operating Lease Liability Amount Related To Extension Of Lease Term
OperatingLeaseLiabilityAmountRelatedToExtensionOfLeaseTerm
|
1000000.0 | USD |
CY2020Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
1900000 | USD |
CY2020Q4 | us-gaap |
Purchase Obligation
PurchaseObligation
|
13400000 | USD |
CY2020 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
12463000 | USD |
CY2019 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
11423000 | USD |
CY2018Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
1027000 | |
CY2018Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
9.75 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
102000 | |
CY2019 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
238000 | |
CY2019 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
5.41 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
|
87000 | |
CY2019 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
|
14.57 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
|
59000 | |
CY2019 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
|
15.83 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
745000 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
10.64 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
24000 | |
CY2020 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
246000 | |
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
10.46 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
|
57000 | |
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
|
11.65 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
|
10000 | |
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
|
10.06 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
456000 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
10.95 | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P3Y2M1D | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
|
4864000 | USD |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
|
449000 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
|
10.88 | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested And Expected To Vest Outstanding Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
|
P3Y29D | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Aggregate Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
|
4818000 | USD |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
379000 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
10.15 | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
|
P2Y18D | |
CY2020Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Intrinsic Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
|
4342000 | USD |
CY2020Q4 | us-gaap |
Share Price
SharePrice
|
21.60 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
2200000 | USD |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
1700000 | USD |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested In Period Fair Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
|
300000 | USD |
CY2020 | us-gaap |
Defined Contribution Plan Maximum Annual Contributions Per Employee Percent
DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
|
0.60 | pure |
CY2020 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
0 | USD |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
|
-18400000 | USD |
CY2019 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
|
-8700000 | USD |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
|
300000 | USD |
CY2019 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
|
1300000 | USD |
CY2020 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
-1325000 | USD |
CY2019 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
-107000 | USD |
CY2020 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
21056000 | USD |
CY2019 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-4534000 | USD |
CY2020 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
238000 | USD |
CY2019 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
312000 | USD |
CY2020 | pdfs |
Foreign Income Tax Withholding
ForeignIncomeTaxWithholding
|
2392000 | USD |
CY2019 | pdfs |
Foreign Income Tax Withholding
ForeignIncomeTaxWithholding
|
2385000 | USD |
CY2020 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
-58000 | USD |
CY2019 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
2000 | USD |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
22303000 | USD |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-1942000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.21 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
-3793000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
-1546000 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
703000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
-85000 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
|
-602000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
|
234000 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Tax Credits
IncomeTaxReconciliationTaxCredits
|
3488000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Tax Credits
IncomeTaxReconciliationTaxCredits
|
2974000 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
|
2443000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
|
2430000 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Change In Enacted Tax Rate
IncomeTaxReconciliationChangeInEnactedTaxRate
|
-2237000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Change In Enacted Tax Rate
IncomeTaxReconciliationChangeInEnactedTaxRate
|
0 | USD |
CY2020 | pdfs |
Effective Income Tax Rate Reconciliation Business Combination Costs Amount
EffectiveIncomeTaxRateReconciliationBusinessCombinationCostsAmount
|
356000 | USD |
CY2019 | pdfs |
Effective Income Tax Rate Reconciliation Business Combination Costs Amount
EffectiveIncomeTaxRateReconciliationBusinessCombinationCostsAmount
|
0 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
29034000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
0 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
|
-113000 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
|
-1000 | USD |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
22303000 | USD |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-1942000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
200000 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
22900000 | USD |
CY2020Q4 | pdfs |
Deferred Tax Liabilities Operating Lease Rightofuse Assets
DeferredTaxLiabilitiesOperatingLeaseRightofuseAssets
|
1669000 | USD |
CY2019Q4 | pdfs |
Deferred Tax Liabilities Operating Lease Rightofuse Assets
DeferredTaxLiabilitiesOperatingLeaseRightofuseAssets
|
1850000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
|
8085000 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
|
4596000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Credit Carryforwards Research
DeferredTaxAssetsTaxCreditCarryforwardsResearch
|
24723000 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Credit Carryforwards Research
DeferredTaxAssetsTaxCreditCarryforwardsResearch
|
18944000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Credit Carryforwards Foreign
DeferredTaxAssetsTaxCreditCarryforwardsForeign
|
9435000 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Credit Carryforwards Foreign
DeferredTaxAssetsTaxCreditCarryforwardsForeign
|
6443000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves
|
3471000 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves
|
1968000 | USD |
CY2020Q4 | pdfs |
Deferred Tax Assets Leases
DeferredTaxAssetsLeases
|
1669000 | USD |
CY2019Q4 | pdfs |
Deferred Tax Assets Leases
DeferredTaxAssetsLeases
|
1850000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Goodwill And Intangible Assets
DeferredTaxAssetsGoodwillAndIntangibleAssets
|
0 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Assets Goodwill And Intangible Assets
DeferredTaxAssetsGoodwillAndIntangibleAssets
|
741000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
1220000 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
1271000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
48603000 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
35813000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
41859000 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
10486000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
6744000 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
25327000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
629000 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
611000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
|
4218000 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
|
-0 | USD |
CY2020Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
6516000 | USD |
CY2019Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
2461000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
228000 | USD |
CY2019Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
22866000 | USD |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
|
800000 | USD |
CY2020 | pdfs |
Unrecognized Tax Benefits Income Tax Penalties And Interest Expense Reversal
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpenseReversal
|
33000 | USD |
CY2019 | pdfs |
Unrecognized Tax Benefits Income Tax Penalties And Interest Expense Reversal
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpenseReversal
|
-1000 | USD |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
14300000 | USD |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits That Would Impact Effective Tax Rate
UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
|
2200000 | USD |
CY2020Q4 | pdfs |
Unrecognized Tax Benefits In Long Term Liabilities
UnrecognizedTaxBenefitsInLongTermLiabilities
|
2900000 | USD |
CY2020Q4 | pdfs |
Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued In Long Term Liabilities
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccruedInLongTermLiabilities
|
800000 | USD |
CY2020Q4 | pdfs |
Unrecognized Tax Benefits In Deferred Tax Asset Subject To Full Valuation Allowance
UnrecognizedTaxBenefitsInDeferredTaxAssetSubjectToFullValuationAllowance
|
12200000 | USD |
CY2017Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
12889000 | USD |
CY2018 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
664000 | USD |
CY2018 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
|
0 | USD |
CY2018 | us-gaap |
Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
|
261000 | USD |
CY2018Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
13292000 | USD |
CY2019 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
667000 | USD |
CY2019 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
|
1000 | USD |
CY2019 | us-gaap |
Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
|
345000 | USD |
CY2019Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
13615000 | USD |
CY2020 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
1024000 | USD |
CY2020 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
|
71000 | USD |
CY2020 | us-gaap |
Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
|
410000 | USD |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
14300000 | USD |
CY2019Q4 | us-gaap |
Valuation Allowances And Reserves Balance
ValuationAllowancesAndReservesBalance
|
10486000 | USD |
CY2020 | us-gaap |
Valuation Allowances And Reserves Charged To Cost And Expense
ValuationAllowancesAndReservesChargedToCostAndExpense
|
31373000 | USD |
CY2020 | us-gaap |
Valuation Allowances And Reserves Charged To Other Accounts
ValuationAllowancesAndReservesChargedToOtherAccounts
|
0 | USD |
CY2020Q4 | us-gaap |
Valuation Allowances And Reserves Balance
ValuationAllowancesAndReservesBalance
|
41859000 | USD |
CY2018Q4 | us-gaap |
Valuation Allowances And Reserves Balance
ValuationAllowancesAndReservesBalance
|
9808000 | USD |
CY2019 | us-gaap |
Valuation Allowances And Reserves Charged To Cost And Expense
ValuationAllowancesAndReservesChargedToCostAndExpense
|
678000 | USD |
CY2019 | us-gaap |
Valuation Allowances And Reserves Charged To Other Accounts
ValuationAllowancesAndReservesChargedToOtherAccounts
|
0 | USD |
CY2019Q4 | us-gaap |
Valuation Allowances And Reserves Balance
ValuationAllowancesAndReservesBalance
|
10486000 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-40363000 | USD |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-5418000 | USD |
CY2020 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
34458000 | |
CY2019 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
32411000 | |
CY2020 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
0 | |
CY2019 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
0 | |
CY2020 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
34458000 | |
CY2019 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
32411000 | |
CY2020 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-1.17 | |
CY2019 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.17 | |
CY2020 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-1.17 | |
CY2019 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.17 | |
CY2020 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
1413000 | |
CY2019 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
1594000 | |
CY2020Q4 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
9839000 | USD |
CY2020Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-528000 | USD |
CY2020Q3 | us-gaap |
Revenues
Revenues
|
23112000 | USD |
CY2020Q4 | us-gaap |
Revenues
Revenues
|
22367000 | USD |
CY2020Q1 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
8487000 | USD |
CY2020Q2 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
8946000 | USD |
CY2020Q3 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
9493000 | USD |
CY2020Q4 | us-gaap |
Noncurrent Assets
NoncurrentAssets
|
45914000 | USD |
CY2019Q4 | us-gaap |
Noncurrent Assets
NoncurrentAssets
|
48407000 | USD |
CY2020Q4 | pdfs |
Cash Cash Equivalents Short Term Investments Fair Value Disclosure
CashCashEquivalentsShortTermInvestmentsFairValueDisclosure
|
132993000 | USD |
CY2020Q1 | us-gaap |
Revenues
Revenues
|
21158000 | USD |
CY2020Q2 | us-gaap |
Revenues
Revenues
|
21409000 | USD |
CY2020Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-3652000 | USD |
CY2020Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-2734000 | USD |
CY2020Q4 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-33449000 | USD |
CY2020Q1 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.02 | |
CY2020Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.11 | |
CY2020Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.08 | |
CY2020Q4 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.91 | |
CY2020Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.02 | |
CY2020Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.11 | |
CY2020Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.08 | |
CY2020Q4 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.91 | |
CY2019Q1 | us-gaap |
Revenues
Revenues
|
20541000 | USD |
CY2019Q2 | us-gaap |
Revenues
Revenues
|
20568000 | USD |
CY2019Q3 | us-gaap |
Revenues
Revenues
|
21914000 | USD |
CY2019Q4 | us-gaap |
Revenues
Revenues
|
22562000 | USD |
CY2019Q1 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
7867000 | USD |
CY2019Q2 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
7832000 | USD |
CY2019Q3 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
8715000 | USD |
CY2019Q4 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
9059000 | USD |
CY2019Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-2691000 | USD |
CY2019Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-710000 | USD |
CY2019Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-687000 | USD |
CY2019Q4 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-1330000 | USD |
CY2019Q1 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.08 | |
CY2019Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.02 | |
CY2019Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.02 | |
CY2019Q4 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.04 | |
CY2019Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.08 | |
CY2019Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.02 | |
CY2019Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.02 | |
CY2019Q4 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.04 |