{"documentInfo":{"documentType":"https://xbrl.org/PWD/2026-09-01/compiled","namespaces":{"xbrl":"https://xbrl.org/PWD/2026-09-01","xbrlr":"https://xbrl.org/PWD/2026-09-01/report","xbrla":"https://xbrl.org/PWD/2026-09-01/accounting","xs":"http://www.w3.org/2001/XMLSchema","iso4217":"http://www.xbrl.org/2003/iso4217","utr":"https://xbrl.org/PWD/2026-09-01/utr","rpt":"https://robosystems.ai/tavi/report/0001406666-19-000029","cik":"http://www.sec.gov/CIK","calx":"http://www.calix.com/20181231","us-gaap":"http://fasb.org/us-gaap/2018-01-31","nonnum":"http://www.xbrl.org/dtr/type/non-numeric","srt":"http://fasb.org/srt/2018-01-31","dei":"http://xbrl.sec.gov/dei/2018-01-31","xbrli":"http://www.xbrl.org/2003/instance","country":"http://xbrl.sec.gov/country/2017-01-31"},"description":"10-K 0001406666-19-000029 (CIK 0001406666) projected from XBRL by xbrlkit"},"xbrlModel":{"name":"rpt:Report","modelType":"xbrl:report","properties":[{"property":"xbrl:reportFilingDate","value":"2019-03-01"}],"entities":[{"name":"cik:0001406666"}],"units":[{"name":"iso4217:USD","dataType":"xbrlr:monetary"},{"name":"xbrla:shares","dataType":"xbrla:sharesType"},{"name":"calx:Plan","dataType":"xs:decimal"},{"name":"utreg:sqft","dataType":"xs:decimal"},{"name":"calx:period","dataType":"xs:decimal"},{"name":"rpt:unit-6","dataType":"xbrlr:perShare","compositeUnitRepresentation":["iso4217:USD/xbrla:shares"]}],"dataTypes":[{"name":"xbrli:gMonthDayItemType","baseType":"xs:gMonthDay"},{"name":"dei:fiscalPeriodItemType","baseType":"xs:token"},{"name":"dei:submissionTypeItemType","baseType":"xs:string"},{"name":"dei:centralIndexKeyItemType","baseType":"xs:token"},{"name":"dei:yesNoItemType","baseType":"xs:token"},{"name":"dei:filerCategoryItemType","baseType":"xs:string"}],"concepts":[{"name":"calx:AccruedBusinessTravelExpense","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:AccruedCustomerRebates","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:AccruedEquipmentFinancingArrangementsCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:AccruedFreight","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:CashCashEquivalentsAndMarketableSecuritiesPolicyPolicyTextBlockPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"calx:ChangeInCapitalExpendituresIncurredButNotYetPaid","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:ContractualTermStockOptions","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"calx:ContractwithCustomerAssetPriorPeriodNotRecognized","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"calx:DisposalGroupPeriodOfNewOrdersSolicitation","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"calx:EffectiveIncomeTaxRateReconciliationForeignIncomeInclusionPercent","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"calx:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017Percent","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"calx:EffectiveIncomeTaxRateReconciliationTopic606AdjustmentPercent","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearFour","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearThree","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearTwo","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedNextTwelveMonth","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:GainLossOnSaleOfProductLine","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:MaximumSharesAllowedToBeIssued","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"calx:MinimumExercisePriceOfStockOptionPercent","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"calx:NumberOfEquityIncentivePlans","dataType":"xs:integer","periodType":"instant","nillable":true},{"name":"calx:OperatingExpensesAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"calx:OperatingLeaseAreaOfOffice","dataType":"xbrlr:area","periodType":"instant","nillable":true},{"name":"calx:PercentOfHistoricalVolatility","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"calx:PercentOfImpliedVolatility","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"calx:ProceedsFromSaleOfProductLine","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"calx:ProductReturnReserve","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:ProductReturnReserveCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:ProductWarrantyPeriod","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"calx:PurchaseObligationTerm","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"calx:ScheduleOfGrantDateFairValuesTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriodSubsequentPeriod","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingAnniversaryPeriod","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumAnnualNumberOfSharesReserved","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent","dataType":"xbrlr:percent","periodType":"instant","nillable":true},{"name":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceofCommonStockNumberOfOfferingPeriods","dataType":"xs:integer","periodType":"duration","nillable":true},{"name":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConvertedintoCommonStock","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsOutstandingIntrinsicValueAmountPerShare","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"calx:SharesReservedForFutureIssuanceTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"calx:StockIssuedDuringPeriodSharesPerformanceRestrictedStockAwardNetofForfeitures","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"dei:AmendmentFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:CurrentFiscalYearEndDate","dataType":"xbrli:gMonthDayItemType","periodType":"duration","nillable":true},{"name":"dei:DocumentFiscalPeriodFocus","dataType":"dei:fiscalPeriodItemType","periodType":"duration","nillable":true},{"name":"dei:DocumentFiscalYearFocus","dataType":"xs:gYear","periodType":"duration","nillable":true},{"name":"dei:DocumentPeriodEndDate","dataType":"xs:date","periodType":"duration","nillable":true},{"name":"dei:DocumentType","dataType":"dei:submissionTypeItemType","periodType":"duration","nillable":true},{"name":"dei:EntityCentralIndexKey","dataType":"dei:centralIndexKeyItemType","periodType":"duration","nillable":true},{"name":"dei:EntityCommonStockSharesOutstanding","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"dei:EntityCurrentReportingStatus","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:EntityEmergingGrowthCompany","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:EntityFilerCategory","dataType":"dei:filerCategoryItemType","periodType":"duration","nillable":true},{"name":"dei:EntityPublicFloat","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"dei:EntityRegistrantName","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityShellCompany","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:EntitySmallBusiness","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:EntityVoluntaryFilers","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:EntityWellKnownSeasonedIssuer","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:TradingSymbol","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:AccountsPayableCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccountsReceivableGrossCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AccountsReceivableNetCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccruedInsuranceCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccruedLiabilitiesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccruedProfessionalFeesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AdditionalPaidInCapitalCommonStock","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AllocatedShareBasedCompensationExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AmortizationOfIntangibleAssets","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:Assets","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AssetsCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CapitalizedContractCostAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CapitalizedContractCostAmortizationPeriod","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:CapitalizedContractCostGross","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CapitalizedContractCostImpairmentLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CashAndCashEquivalentsAtCarryingValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CashAndCashEquivalentsFairValueDisclosure","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CommitmentsAndContingencies","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CommitmentsAndContingenciesPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockConversionBasis","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"us-gaap:CommonStockDividendsPerShareDeclared","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:CommonStockParOrStatedValuePerShare","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockSharesAuthorized","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockSharesIssued","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockSharesOutstanding","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:CompensationAndEmployeeBenefitPlansTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ComprehensiveIncomeNoteTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ConcentrationRiskDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ConcentrationRiskPercentage1","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ConsolidationPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ContractWithCustomerAssetNet","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ContractWithCustomerLiability","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ContractWithCustomerLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ContractWithCustomerLiabilityNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ContractWithCustomerLiabilityRevenueRecognized","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:CostOfGoodsAndServicesSold","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CostOfSalesPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:CurrentForeignTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CurrentIncomeTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DebtDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:DebtInstrumentInterestRateEffectivePercentage","dataType":"xbrlr:percent","periodType":"instant","nillable":true},{"name":"us-gaap:DebtWeightedAverageInterestRate","dataType":"xbrlr:percent","periodType":"instant","nillable":true},{"name":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredRevenueByArrangementDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:DeferredRevenueNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:DeferredTaxAssetsDeferredIncome","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsGross","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsNet","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsOther","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsValuationAllowance","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:DefinedContributionPlanCostRecognized","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:Depreciation","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:DisposalGroupIncludingDiscontinuedOperationInventory1","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DisposalGroupNotDiscontinuedOperationGainLossOnDisposal","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerShareBasicAndDiluted","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerShareTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EmployeeRelatedLiabilitiesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:FairValueDisclosuresTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:FairValueOfFinancialInstrumentsPolicy","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ForeignFinancialInstitutionsActualDeposits","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:GainLossOnDispositionOfAssets","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:GainLossOnDispositionOfAssets1","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:GainLossRelatedToLitigationSettlement","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:GeneralAndAdministrativeExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:Goodwill","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:GoodwillImpairmentLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:GrossProfit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncomeTaxDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:IncomeTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeTaxPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:IncomeTaxesPaidNet","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncreaseDecreaseInAccountsPayable","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInAccountsReceivable","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncreaseDecreaseInAccruedLiabilities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInDeferredRevenue","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInInventories","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:InterestPaidNet","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:InventoryFinishedGoodsNetOfReserves","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:InventoryNet","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:InventoryPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:InventoryRawMaterialsNetOfReserves","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:InvestmentIncomeNet","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LeaseAndRentalExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:LesseeOperatingLeaseTermOfContract","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:Liabilities","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LiabilitiesAndStockholdersEquity","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LiabilitiesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LinesOfCreditCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:NetCashProvidedByUsedInFinancingActivities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:NetCashProvidedByUsedInInvestingActivities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:NetCashProvidedByUsedInOperatingActivities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:NonoperatingIncomeExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingExpenses","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingIncomeLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseLiability","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseRightOfUseAsset","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLossCarryforwards","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OtherAccruedLiabilitiesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OtherAssetsNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OtherCommitment","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OtherLiabilitiesNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OtherNonoperatingIncomeExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PaymentsForRepurchaseOfCommonStock","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PaymentsForRestructuring","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PaymentsOfDebtIssuanceCosts","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PaymentsToAcquireMarketableSecurities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PreferredStockParOrStatedValuePerShare","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:PreferredStockSharesAuthorized","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:PreferredStockSharesIssued","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:PreferredStockSharesOutstanding","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:PreferredStockValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ProceedsFromLinesOfCredit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ProceedsFromSaleOfAvailableForSaleSecurities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ProceedsFromStockOptionsExercised","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ProductWarrantyAccrual","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ProductWarrantyAccrualClassifiedCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ProductWarrantyAccrualPayments","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ProductWarrantyAccrualWarrantiesIssued","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ProfitLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentGross","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentNet","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:PropertyPlantAndEquipmentTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:PropertyPlantAndEquipmentUsefulLife","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PurchaseObligation","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:QuarterlyFinancialInformationTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:RepaymentsOfLinesOfCredit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ResearchAndDevelopmentExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:RestrictedCashCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:RestructuringCharges","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:RestructuringReserve","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:RestructuringReserveCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:RetainedEarningsAccumulatedDeficit","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:RevenueRecognitionDeferredRevenue","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:RevenueRecognitionPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:RevenueRemainingPerformanceObligation","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:RevenueRemainingPerformanceObligationPercentage","dataType":"xbrlr:percent","periodType":"instant","nillable":true},{"name":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfInventoryCurrentTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:SegmentReportingDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:SellingAndMarketingExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensation","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate","dataType":"xbrlr:percent","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:StandardProductWarrantyPolicy","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:StockRepurchasedDuringPeriodShares","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:StockRepurchasedDuringPeriodValue","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:StockholdersEquity","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:StockholdersEquityNoteStockSplitConversionRatio1","dataType":"xbrlr:pureType","periodType":"duration","nillable":true},{"name":"us-gaap:SubsequentEventsTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:SummaryOfIncomeTaxContingenciesTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:SupplementalBalanceSheetDisclosuresTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:TaxCreditCarryforwardAmount","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:TreasuryStockShares","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:TreasuryStockValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:UnrecognizedTaxBenefits","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:UseOfEstimates","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ValuationAllowancesAndReservesBalance","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ValuationAllowancesAndReservesDeductions","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","dataType":"xbrla:sharesType","periodType":"duration","nillable":true}],"headings":[{"name":"calx:DocumentAndEntityInformationAbstract"},{"name":"calx:IncomeTaxesLineItems"},{"name":"calx:IncomeTaxesTable"},{"name":"calx:ScheduleOfCertainTermsLineItemsLineItems"},{"name":"calx:ScheduleOfCertainTermsTableTable"},{"name":"srt:ValuationAndQualifyingAccountsDisclosureLineItems"},{"name":"srt:ValuationAndQualifyingAccountsDisclosureTable"},{"name":"us-gaap:AccountingPoliciesAbstract"},{"name":"us-gaap:AccountsReceivableNetCurrentAbstract"},{"name":"us-gaap:AccruedLiabilitiesCurrentAbstract"},{"name":"us-gaap:AccumulatedOtherComprehensiveIncomeLossLineItems"},{"name":"us-gaap:AccumulatedOtherComprehensiveIncomeLossTable"},{"name":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"},{"name":"us-gaap:AssetsAbstract"},{"name":"us-gaap:AssetsCurrentAbstract"},{"name":"us-gaap:BalanceSheetRelatedDisclosuresAbstract"},{"name":"us-gaap:CashAndCashEquivalentsAbstract"},{"name":"us-gaap:CashAndCashEquivalentsLineItems"},{"name":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract"},{"name":"us-gaap:CompensationAndRetirementDisclosureAbstract"},{"name":"us-gaap:ConcentrationRiskLineItems"},{"name":"us-gaap:ConcentrationRiskTable"},{"name":"us-gaap:CostOfRevenueAbstract"},{"name":"us-gaap:DeferredRevenueArrangementByTypeTable"},{"name":"us-gaap:DeferredRevenueArrangementLineItems"},{"name":"us-gaap:DeferredTaxAssetsGrossAbstract"},{"name":"us-gaap:DisaggregationOfRevenueLineItems"},{"name":"us-gaap:DisaggregationOfRevenueTable"},{"name":"us-gaap:DiscontinuedOperationsAndDisposalGroupsAbstract"},{"name":"us-gaap:EarningsPerShareAbstract"},{"name":"us-gaap:EarningsPerShareBasicAbstract"},{"name":"us-gaap:EarningsPerShareBasicAndDilutedAbstract"},{"name":"us-gaap:EarningsPerShareDilutedOtherDisclosuresAbstract"},{"name":"us-gaap:EquityAbstract"},{"name":"us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"},{"name":"us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"},{"name":"us-gaap:FairValueDisclosuresAbstract"},{"name":"us-gaap:IncomeStatementAbstract"},{"name":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems"},{"name":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable"},{"name":"us-gaap:IncomeTaxDisclosureAbstract"},{"name":"us-gaap:IncreaseDecreaseInOperatingCapitalAbstract"},{"name":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward"},{"name":"us-gaap:InventoryNetAbstract"},{"name":"us-gaap:LiabilitiesAndStockholdersEquityAbstract"},{"name":"us-gaap:LiabilitiesCurrentAbstract"},{"name":"us-gaap:LineOfCreditFacilityAbstract"},{"name":"us-gaap:LineOfCreditFacilityLineItems"},{"name":"us-gaap:LineOfCreditFacilityTable"},{"name":"us-gaap:LossContingenciesLineItems"},{"name":"us-gaap:LossContingenciesTable"},{"name":"us-gaap:MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward"},{"name":"us-gaap:MovementInValuationAllowancesAndReservesRollForward"},{"name":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract"},{"name":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract"},{"name":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract"},{"name":"us-gaap:NetIncomeLossAbstract"},{"name":"us-gaap:NoncashInvestingAndFinancingItemsAbstract"},{"name":"us-gaap:NonoperatingIncomeExpenseAbstract"},{"name":"us-gaap:OperatingExpensesAbstract"},{"name":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"},{"name":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"},{"name":"us-gaap:PropertyPlantAndEquipmentLineItems"},{"name":"us-gaap:QuarterlyFinancialInformationDisclosureAbstract"},{"name":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward"},{"name":"us-gaap:RestructuringAndRelatedActivitiesAbstract"},{"name":"us-gaap:RestructuringCostAndReserveLineItems"},{"name":"us-gaap:RestructuringReserveRollForward"},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"},{"name":"us-gaap:RevenuesAbstract"},{"name":"us-gaap:RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"},{"name":"us-gaap:ScheduleOfCashAndCashEquivalentsTable"},{"name":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable"},{"name":"us-gaap:ScheduleOfRestructuringAndRelatedCostsTable"},{"name":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"},{"name":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"},{"name":"us-gaap:SegmentReportingAbstract"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"},{"name":"us-gaap:StatementLineItems"},{"name":"us-gaap:StatementOfCashFlowsAbstract"},{"name":"us-gaap:StatementOfFinancialPositionAbstract"},{"name":"us-gaap:StatementOfStockholdersEquityAbstract"},{"name":"us-gaap:StatementTable"},{"name":"us-gaap:StockholdersEquityAbstract"},{"name":"us-gaap:StockholdersEquityNoteAbstract"},{"name":"us-gaap:SubsequentEventsAbstract"},{"name":"us-gaap:SupplementalCashFlowInformationAbstract"},{"name":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasicAbstract"}],"dimensions":[{"name":"calx:StockOptionByTypeAxis","domainClass":"calx:StockOptionByTypeDomain"},{"name":"srt:CounterpartyNameAxis","domainClass":"srt:RepurchaseAgreementCounterpartyNameDomain"},{"name":"srt:MajorCustomersAxis","domainClass":"srt:NameOfMajorCustomerDomain"},{"name":"srt:ProductOrServiceAxis","domainClass":"srt:ProductsAndServicesDomain"},{"name":"srt:RangeAxis","domainClass":"srt:RangeMember"},{"name":"srt:StatementGeographicalAxis","domainClass":"srt:SegmentGeographicalDomain"},{"name":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","domainClass":"us-gaap:TypeOfAdoptionMember"},{"name":"us-gaap:AwardTypeAxis","domainClass":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"},{"name":"us-gaap:BalanceSheetLocationAxis","domainClass":"us-gaap:BalanceSheetLocationDomain"},{"name":"us-gaap:CashAndCashEquivalentsAxis","domainClass":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"},{"name":"us-gaap:ConcentrationRiskByBenchmarkAxis","domainClass":"us-gaap:ConcentrationRiskBenchmarkDomain"},{"name":"us-gaap:ConcentrationRiskByTypeAxis","domainClass":"us-gaap:ConcentrationRiskTypeDomain"},{"name":"us-gaap:CreditFacilityAxis","domainClass":"us-gaap:CreditFacilityDomain"},{"name":"us-gaap:DeferredRevenueArrangementTypeAxis","domainClass":"us-gaap:DeferredRevenueArrangementTypeDomain"},{"name":"us-gaap:FairValueByFairValueHierarchyLevelAxis","domainClass":"us-gaap:FairValueMeasurementsFairValueHierarchyDomain"},{"name":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis","domainClass":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsNameDomain"},{"name":"us-gaap:IncomeStatementLocationAxis","domainClass":"us-gaap:IncomeStatementLocationDomain"},{"name":"us-gaap:IncomeTaxAuthorityAxis","domainClass":"us-gaap:IncomeTaxAuthorityDomain"},{"name":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis","domainClass":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain"},{"name":"us-gaap:LineOfCreditFacilityAxis","domainClass":"us-gaap:LineOfCreditFacilityLenderDomain"},{"name":"us-gaap:OtherCommitmentsAxis","domainClass":"us-gaap:OtherCommitmentsDomain"},{"name":"us-gaap:PlanNameAxis","domainClass":"us-gaap:PlanNameDomain"},{"name":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainClass":"us-gaap:PropertyPlantAndEquipmentTypeDomain"},{"name":"us-gaap:RestructuringCostAndReserveAxis","domainClass":"us-gaap:TypeOfRestructuringDomain"},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"},{"name":"us-gaap:StatementEquityComponentsAxis","domainClass":"us-gaap:EquityComponentDomain"},{"name":"us-gaap:SubsequentEventTypeAxis","domainClass":"us-gaap:SubsequentEventTypeDomain"},{"name":"us-gaap:TitleOfIndividualAxis","domainClass":"us-gaap:TitleOfIndividualWithRelationshipToEntityDomain"},{"name":"us-gaap:ValuationAllowancesAndReservesTypeAxis","domainClass":"us-gaap:ValuationAllowancesAndReservesDomain"},{"name":"us-gaap:VestingAxis","domainClass":"us-gaap:VestingDomain"}],"domainClasses":[{"name":"calx:StockOptionByTypeDomain"},{"name":"srt:NameOfMajorCustomerDomain"},{"name":"srt:ProductsAndServicesDomain"},{"name":"srt:RangeMember"},{"name":"srt:RepurchaseAgreementCounterpartyNameDomain"},{"name":"srt:SegmentGeographicalDomain"},{"name":"us-gaap:BalanceSheetLocationDomain"},{"name":"us-gaap:ConcentrationRiskBenchmarkDomain"},{"name":"us-gaap:ConcentrationRiskTypeDomain"},{"name":"us-gaap:CreditFacilityDomain"},{"name":"us-gaap:DeferredRevenueArrangementTypeDomain"},{"name":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsNameDomain"},{"name":"us-gaap:EquityComponentDomain"},{"name":"us-gaap:FairValueMeasurementsFairValueHierarchyDomain"},{"name":"us-gaap:IncomeStatementLocationDomain"},{"name":"us-gaap:IncomeTaxAuthorityDomain"},{"name":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain"},{"name":"us-gaap:LineOfCreditFacilityLenderDomain"},{"name":"us-gaap:OtherCommitmentsDomain"},{"name":"us-gaap:PlanNameDomain"},{"name":"us-gaap:PropertyPlantAndEquipmentTypeDomain"},{"name":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"},{"name":"us-gaap:SubsequentEventTypeDomain"},{"name":"us-gaap:TitleOfIndividualWithRelationshipToEntityDomain"},{"name":"us-gaap:TypeOfAdoptionMember"},{"name":"us-gaap:TypeOfRestructuringDomain"},{"name":"us-gaap:ValuationAllowancesAndReservesDomain"},{"name":"us-gaap:VestingDomain"}],"domainNetworks":[{"name":"rpt:domain-0","root":"us-gaap:EquityComponentDomain","relationships":[{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AccumulatedTranslationAdjustmentMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AccumulatedOtherComprehensiveIncomeMember"}]},{"name":"rpt:domain-1","root":"us-gaap:ValuationAllowancesAndReservesDomain","relationships":[{"source":"us-gaap:ValuationAllowancesAndReservesDomain","target":"us-gaap:AllowanceForCreditLossMember"},{"source":"us-gaap:ValuationAllowancesAndReservesDomain","target":"calx:ProductReturnReserveMember"}]},{"name":"rpt:domain-2","root":"us-gaap:DeferredRevenueArrangementTypeDomain","relationships":[{"source":"us-gaap:DeferredRevenueArrangementTypeDomain","target":"calx:ProductAndServicesMember"},{"source":"us-gaap:DeferredRevenueArrangementTypeDomain","target":"calx:ExtendedWarrantyMember"}]},{"name":"rpt:domain-3","root":"us-gaap:PropertyPlantAndEquipmentTypeDomain","relationships":[{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:EquipmentMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"calx:ComputerEquipmentAndPurchasedSoftwareMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:FurnitureAndFixturesMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:LeaseholdImprovementsMember"}]},{"name":"rpt:domain-4","root":"us-gaap:TypeOfRestructuringDomain","relationships":[{"source":"us-gaap:TypeOfRestructuringDomain","target":"us-gaap:EmployeeSeveranceMember"},{"source":"us-gaap:TypeOfRestructuringDomain","target":"us-gaap:FacilityClosingMember"}]},{"name":"rpt:domain-5","root":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember","relationships":[{"source":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember","target":"us-gaap:CashMember"},{"source":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember","target":"us-gaap:MoneyMarketFundsMember"}]},{"name":"rpt:domain-6","root":"srt:SegmentGeographicalDomain","relationships":[{"source":"srt:SegmentGeographicalDomain","target":"calx:SanJoseCaliforniaMember"},{"source":"srt:SegmentGeographicalDomain","target":"calx:WestJordanUtahMember"},{"source":"srt:SegmentGeographicalDomain","target":"calx:PetalumaCAMember"}]},{"name":"rpt:domain-7","root":"us-gaap:OtherCommitmentsDomain","relationships":[{"source":"us-gaap:OtherCommitmentsDomain","target":"calx:EngineeringServicesMember"}]},{"name":"rpt:domain-8","root":"srt:ProductsAndServicesDomain","relationships":[{"source":"srt:ProductsAndServicesDomain","target":"calx:SystemsProductMember"},{"source":"srt:ProductsAndServicesDomain","target":"us-gaap:TechnologyServiceMember"}]},{"name":"rpt:domain-9","root":"us-gaap:IncomeStatementLocationDomain","relationships":[{"source":"us-gaap:IncomeStatementLocationDomain","target":"calx:CostOfRevenueSystemsMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"calx:CostOfRevenueServicesMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:ResearchAndDevelopmentExpenseMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:SellingAndMarketingExpenseMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:GeneralAndAdministrativeExpenseMember"}]},{"name":"rpt:domain-10","root":"us-gaap:EquityComponentDomain","relationships":[{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:CommonStockMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AdditionalPaidInCapitalMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AccumulatedOtherComprehensiveIncomeMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:RetainedEarningsMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:TreasuryStockMember"}]},{"name":"rpt:domain-11","root":"us-gaap:LineOfCreditFacilityLenderDomain","relationships":[{"source":"us-gaap:LineOfCreditFacilityLenderDomain","target":"calx:SiliconValleyBankMember"}]},{"name":"rpt:domain-12","root":"us-gaap:CreditFacilityDomain","relationships":[{"source":"us-gaap:CreditFacilityDomain","target":"us-gaap:LetterOfCreditMember"}]},{"name":"rpt:domain-13","root":"us-gaap:PropertyPlantAndEquipmentTypeDomain","relationships":[{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"calx:ResearchAndDevelopmentEquipmentMember"}]},{"name":"rpt:domain-14","root":"srt:RangeMember","relationships":[{"source":"srt:RangeMember","target":"srt:MinimumMember"},{"source":"srt:RangeMember","target":"srt:MaximumMember"}]},{"name":"rpt:domain-15","root":"us-gaap:ConcentrationRiskTypeDomain","relationships":[{"source":"us-gaap:ConcentrationRiskTypeDomain","target":"us-gaap:CustomerConcentrationRiskMember"}]},{"name":"rpt:domain-16","root":"us-gaap:ConcentrationRiskBenchmarkDomain","relationships":[{"source":"us-gaap:ConcentrationRiskBenchmarkDomain","target":"us-gaap:AccountsReceivableMember"},{"source":"us-gaap:ConcentrationRiskBenchmarkDomain","target":"us-gaap:SalesRevenueNetMember"}]},{"name":"rpt:domain-17","root":"srt:NameOfMajorCustomerDomain","relationships":[{"source":"srt:NameOfMajorCustomerDomain","target":"calx:CenturyLinkMember"},{"source":"srt:NameOfMajorCustomerDomain","target":"calx:WindstreamMember"}]},{"name":"rpt:domain-18","root":"us-gaap:SubsequentEventTypeDomain","relationships":[{"source":"us-gaap:SubsequentEventTypeDomain","target":"us-gaap:SubsequentEventMember"}]},{"name":"rpt:domain-19","root":"us-gaap:EquityComponentDomain","relationships":[{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:RetainedEarningsMember"}]},{"name":"rpt:domain-20","root":"us-gaap:TypeOfAdoptionMember","relationships":[{"source":"us-gaap:TypeOfAdoptionMember","target":"us-gaap:AccountingStandardsUpdate201409Member"},{"source":"us-gaap:TypeOfAdoptionMember","target":"calx:AccountingStandardsUpdate201815Member"},{"source":"us-gaap:TypeOfAdoptionMember","target":"us-gaap:AccountingStandardsUpdate201618Member"},{"source":"us-gaap:TypeOfAdoptionMember","target":"us-gaap:AccountingStandardsUpdate201602Member"}]},{"name":"rpt:domain-21","root":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain","relationships":[{"source":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain","target":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},{"source":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain","target":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"}]},{"name":"rpt:domain-22","root":"us-gaap:BalanceSheetLocationDomain","relationships":[{"source":"us-gaap:BalanceSheetLocationDomain","target":"us-gaap:RetainedEarningsMember"}]},{"name":"rpt:domain-23","root":"us-gaap:TypeOfAdoptionMember","relationships":[{"source":"us-gaap:TypeOfAdoptionMember","target":"us-gaap:AccountingStandardsUpdate201409Member"}]},{"name":"rpt:domain-24","root":"us-gaap:PropertyPlantAndEquipmentTypeDomain","relationships":[{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:ComputerEquipmentMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:ComputerSoftwareIntangibleAssetMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:EquipmentMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:FurnitureAndFixturesMember"}]},{"name":"rpt:domain-25","root":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember","relationships":[{"source":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember","target":"us-gaap:MoneyMarketFundsMember"}]},{"name":"rpt:domain-26","root":"us-gaap:FairValueMeasurementsFairValueHierarchyDomain","relationships":[{"source":"us-gaap:FairValueMeasurementsFairValueHierarchyDomain","target":"us-gaap:FairValueInputsLevel1Member"}]},{"name":"rpt:domain-27","root":"us-gaap:IncomeTaxAuthorityDomain","relationships":[{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:DomesticCountryMember"},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:StateAndLocalJurisdictionMember"},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"calx:CaliforniaStateMember"},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"calx:OtherStateMember"}]},{"name":"rpt:domain-28","root":"srt:RepurchaseAgreementCounterpartyNameDomain","relationships":[{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"calx:ClearfieldInc.Member"}]},{"name":"rpt:domain-29","root":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsNameDomain","relationships":[{"source":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsNameDomain","target":"calx:OutdoorCabinetProductLineMember"}]},{"name":"rpt:domain-30","root":"srt:SegmentGeographicalDomain","relationships":[{"source":"srt:SegmentGeographicalDomain","target":"country:US"},{"source":"srt:SegmentGeographicalDomain","target":"country:CN"}]},{"name":"rpt:domain-31","root":"srt:SegmentGeographicalDomain","relationships":[{"source":"srt:SegmentGeographicalDomain","target":"country:US"},{"source":"srt:SegmentGeographicalDomain","target":"us-gaap:MiddleEastMember"},{"source":"srt:SegmentGeographicalDomain","target":"country:CA"},{"source":"srt:SegmentGeographicalDomain","target":"srt:EuropeMember"},{"source":"srt:SegmentGeographicalDomain","target":"calx:CaribbeanMember"},{"source":"srt:SegmentGeographicalDomain","target":"calx:SegmentGeographicalOtherCountriesMember"}]},{"name":"rpt:domain-32","root":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","relationships":[{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockOptionMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockMember"}]},{"name":"rpt:domain-33","root":"us-gaap:PlanNameDomain","relationships":[{"source":"us-gaap:PlanNameDomain","target":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"}]},{"name":"rpt:domain-34","root":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","relationships":[{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:RestrictedStockUnitsRSUMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockMember"}]},{"name":"rpt:domain-35","root":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","relationships":[{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:RestrictedStockUnitsRSUMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember"}]},{"name":"rpt:domain-36","root":"us-gaap:PlanNameDomain","relationships":[{"source":"us-gaap:PlanNameDomain","target":"calx:A2010PlanMember"},{"source":"us-gaap:PlanNameDomain","target":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"}]},{"name":"rpt:domain-37","root":"us-gaap:TitleOfIndividualWithRelationshipToEntityDomain","relationships":[{"source":"us-gaap:TitleOfIndividualWithRelationshipToEntityDomain","target":"us-gaap:ExecutiveOfficerMember"},{"source":"us-gaap:TitleOfIndividualWithRelationshipToEntityDomain","target":"us-gaap:ChiefFinancialOfficerMember"}]},{"name":"rpt:domain-38","root":"us-gaap:VestingDomain","relationships":[{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheOneMember"},{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember"},{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheThreeMember"}]},{"name":"rpt:domain-39","root":"calx:StockOptionByTypeDomain","relationships":[{"source":"calx:StockOptionByTypeDomain","target":"calx:IncentiveStockOptionMember"}]},{"name":"rpt:domain-40","root":"us-gaap:PlanNameDomain","relationships":[{"source":"us-gaap:PlanNameDomain","target":"calx:PriorPlansMember"},{"source":"us-gaap:PlanNameDomain","target":"calx:A2010PlanMember"},{"source":"us-gaap:PlanNameDomain","target":"calx:InducementAwardMember"},{"source":"us-gaap:PlanNameDomain","target":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"}]},{"name":"rpt:domain-41","root":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","relationships":[{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"calx:IncentiveStockOptionMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockOptionMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:RestrictedStockUnitsRSUMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"calx:PerformanceBasedStockOptionsMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockMember"}]},{"name":"rpt:domain-42","root":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","relationships":[{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockOptionMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:RestrictedStockUnitsRSUMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockMember"}]}],"members":[{"name":"calx:A2010PlanMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"calx:AccountingStandardsUpdate201815Member","domainClasses":["us-gaap:TypeOfAdoptionMember"]},{"name":"calx:CaliforniaStateMember","domainClasses":["us-gaap:IncomeTaxAuthorityDomain"]},{"name":"calx:CaribbeanMember","domainClasses":["srt:SegmentGeographicalDomain"]},{"name":"calx:CenturyLinkMember","domainClasses":["srt:NameOfMajorCustomerDomain"]},{"name":"calx:ClearfieldInc.Member","domainClasses":["srt:RepurchaseAgreementCounterpartyNameDomain"]},{"name":"calx:ComputerEquipmentAndPurchasedSoftwareMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"calx:CostOfRevenueServicesMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"calx:CostOfRevenueSystemsMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"calx:EngineeringServicesMember","domainClasses":["us-gaap:OtherCommitmentsDomain"]},{"name":"calx:ExtendedWarrantyMember","domainClasses":["us-gaap:DeferredRevenueArrangementTypeDomain"]},{"name":"calx:IncentiveStockOptionMember","domainClasses":["calx:StockOptionByTypeDomain","us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"calx:InducementAwardMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"calx:OtherStateMember","domainClasses":["us-gaap:IncomeTaxAuthorityDomain"]},{"name":"calx:OutdoorCabinetProductLineMember","domainClasses":["us-gaap:DisposalGroupsIncludingDiscontinuedOperationsNameDomain"]},{"name":"calx:PerformanceBasedStockOptionsMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"calx:PetalumaCAMember","domainClasses":["srt:SegmentGeographicalDomain"]},{"name":"calx:PriorPlansMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"calx:ProductAndServicesMember","domainClasses":["us-gaap:DeferredRevenueArrangementTypeDomain"]},{"name":"calx:ProductReturnReserveMember","domainClasses":["us-gaap:ValuationAllowancesAndReservesDomain"]},{"name":"calx:ResearchAndDevelopmentEquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"calx:SanJoseCaliforniaMember","domainClasses":["srt:SegmentGeographicalDomain"]},{"name":"calx:SegmentGeographicalOtherCountriesMember","domainClasses":["srt:SegmentGeographicalDomain"]},{"name":"calx:SiliconValleyBankMember","domainClasses":["us-gaap:LineOfCreditFacilityLenderDomain"]},{"name":"calx:SystemsProductMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"calx:WestJordanUtahMember","domainClasses":["srt:SegmentGeographicalDomain"]},{"name":"calx:WindstreamMember","domainClasses":["srt:NameOfMajorCustomerDomain"]},{"name":"country:CA","domainClasses":["srt:SegmentGeographicalDomain"]},{"name":"country:CN","domainClasses":["srt:SegmentGeographicalDomain"]},{"name":"country:US","domainClasses":["srt:SegmentGeographicalDomain"]},{"name":"srt:EuropeMember","domainClasses":["srt:SegmentGeographicalDomain"]},{"name":"srt:MaximumMember","domainClasses":["srt:RangeMember"]},{"name":"srt:MinimumMember","domainClasses":["srt:RangeMember"]},{"name":"us-gaap:AccountingStandardsUpdate201409Member","domainClasses":["us-gaap:TypeOfAdoptionMember"]},{"name":"us-gaap:AccountingStandardsUpdate201602Member","domainClasses":["us-gaap:TypeOfAdoptionMember"]},{"name":"us-gaap:AccountingStandardsUpdate201618Member","domainClasses":["us-gaap:TypeOfAdoptionMember"]},{"name":"us-gaap:AccountsReceivableMember","domainClasses":["us-gaap:ConcentrationRiskBenchmarkDomain"]},{"name":"us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:AccumulatedOtherComprehensiveIncomeMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:AccumulatedTranslationAdjustmentMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:AdditionalPaidInCapitalMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:AllowanceForCreditLossMember","domainClasses":["us-gaap:ValuationAllowancesAndReservesDomain"]},{"name":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member","domainClasses":["us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain"]},{"name":"us-gaap:CashMember","domainClasses":["us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"]},{"name":"us-gaap:ChiefFinancialOfficerMember","domainClasses":["us-gaap:TitleOfIndividualWithRelationshipToEntityDomain"]},{"name":"us-gaap:CommonStockMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:ComputerEquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:ComputerSoftwareIntangibleAssetMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:CustomerConcentrationRiskMember","domainClasses":["us-gaap:ConcentrationRiskTypeDomain"]},{"name":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member","domainClasses":["us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain"]},{"name":"us-gaap:DomesticCountryMember","domainClasses":["us-gaap:IncomeTaxAuthorityDomain"]},{"name":"us-gaap:EmployeeSeveranceMember","domainClasses":["us-gaap:TypeOfRestructuringDomain"]},{"name":"us-gaap:EmployeeStockMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"us-gaap:EmployeeStockOptionMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"us-gaap:EquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:ExecutiveOfficerMember","domainClasses":["us-gaap:TitleOfIndividualWithRelationshipToEntityDomain"]},{"name":"us-gaap:FacilityClosingMember","domainClasses":["us-gaap:TypeOfRestructuringDomain"]},{"name":"us-gaap:FairValueInputsLevel1Member","domainClasses":["us-gaap:FairValueMeasurementsFairValueHierarchyDomain"]},{"name":"us-gaap:FurnitureAndFixturesMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:GeneralAndAdministrativeExpenseMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:LeaseholdImprovementsMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:LetterOfCreditMember","domainClasses":["us-gaap:CreditFacilityDomain"]},{"name":"us-gaap:MiddleEastMember","domainClasses":["srt:SegmentGeographicalDomain"]},{"name":"us-gaap:MoneyMarketFundsMember","domainClasses":["us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember"]},{"name":"us-gaap:PerformanceSharesMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"us-gaap:ResearchAndDevelopmentExpenseMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:RestrictedStockUnitsRSUMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"us-gaap:RetainedEarningsMember","domainClasses":["us-gaap:BalanceSheetLocationDomain","us-gaap:EquityComponentDomain"]},{"name":"us-gaap:SalesRevenueNetMember","domainClasses":["us-gaap:ConcentrationRiskBenchmarkDomain"]},{"name":"us-gaap:SellingAndMarketingExpenseMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:ShareBasedCompensationAwardTrancheOneMember","domainClasses":["us-gaap:VestingDomain"]},{"name":"us-gaap:ShareBasedCompensationAwardTrancheThreeMember","domainClasses":["us-gaap:VestingDomain"]},{"name":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember","domainClasses":["us-gaap:VestingDomain"]},{"name":"us-gaap:StateAndLocalJurisdictionMember","domainClasses":["us-gaap:IncomeTaxAuthorityDomain"]},{"name":"us-gaap:SubsequentEventMember","domainClasses":["us-gaap:SubsequentEventTypeDomain"]},{"name":"us-gaap:TechnologyServiceMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"us-gaap:TreasuryStockMember","domainClasses":["us-gaap:EquityComponentDomain"]}],"cubes":[{"name":"rpt:cube-0","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:StatementEquityComponentsAxis","domainNetwork":"rpt:domain-0","optional":true}]},{"name":"rpt:cube-1","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:ValuationAllowancesAndReservesTypeAxis","domainNetwork":"rpt:domain-1","optional":true}]},{"name":"rpt:cube-2","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:DeferredRevenueArrangementTypeAxis","domainNetwork":"rpt:domain-2","optional":true}]},{"name":"rpt:cube-3","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainNetwork":"rpt:domain-3","optional":true}]},{"name":"rpt:cube-4","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:RestructuringCostAndReserveAxis","domainNetwork":"rpt:domain-4","optional":true}]},{"name":"rpt:cube-5","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:CashAndCashEquivalentsAxis","domainNetwork":"rpt:domain-5","optional":true}]},{"name":"rpt:cube-6","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:StatementGeographicalAxis","domainNetwork":"rpt:domain-6","optional":true},{"dimension":"us-gaap:OtherCommitmentsAxis","domainNetwork":"rpt:domain-7","optional":true}]},{"name":"rpt:cube-7","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-8","optional":true}]},{"name":"rpt:cube-8","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:IncomeStatementLocationAxis","domainNetwork":"rpt:domain-9","optional":true}]},{"name":"rpt:cube-9","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:StatementEquityComponentsAxis","domainNetwork":"rpt:domain-10","optional":true}]},{"name":"rpt:cube-10","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:LineOfCreditFacilityAxis","domainNetwork":"rpt:domain-11","optional":true},{"dimension":"us-gaap:CreditFacilityAxis","domainNetwork":"rpt:domain-12","optional":true},{"dimension":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainNetwork":"rpt:domain-13","optional":true}]},{"name":"rpt:cube-11","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-14","optional":true}]},{"name":"rpt:cube-12","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:ConcentrationRiskByTypeAxis","domainNetwork":"rpt:domain-15","optional":true},{"dimension":"us-gaap:ConcentrationRiskByBenchmarkAxis","domainNetwork":"rpt:domain-16","optional":true},{"dimension":"srt:MajorCustomersAxis","domainNetwork":"rpt:domain-17","optional":true}]},{"name":"rpt:cube-13","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"}]},{"name":"rpt:cube-14","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:SubsequentEventTypeAxis","domainNetwork":"rpt:domain-18","optional":true},{"dimension":"us-gaap:StatementEquityComponentsAxis","domainNetwork":"rpt:domain-19","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-8","optional":true},{"dimension":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","domainNetwork":"rpt:domain-20","optional":true},{"dimension":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis","domainNetwork":"rpt:domain-21","optional":true}]},{"name":"rpt:cube-15","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:BalanceSheetLocationAxis","domainNetwork":"rpt:domain-22","optional":true},{"dimension":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","domainNetwork":"rpt:domain-23","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-14","optional":true}]},{"name":"rpt:cube-16","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainNetwork":"rpt:domain-24","optional":true}]},{"name":"rpt:cube-17","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:CashAndCashEquivalentsAxis","domainNetwork":"rpt:domain-25","optional":true},{"dimension":"us-gaap:FairValueByFairValueHierarchyLevelAxis","domainNetwork":"rpt:domain-26","optional":true}]},{"name":"rpt:cube-18","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:IncomeTaxAuthorityAxis","domainNetwork":"rpt:domain-27","optional":true}]},{"name":"rpt:cube-19","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:CounterpartyNameAxis","domainNetwork":"rpt:domain-28","optional":true},{"dimension":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis","domainNetwork":"rpt:domain-29","optional":true}]},{"name":"rpt:cube-20","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:StatementGeographicalAxis","domainNetwork":"rpt:domain-30","optional":true}]},{"name":"rpt:cube-21","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:StatementGeographicalAxis","domainNetwork":"rpt:domain-31","optional":true}]},{"name":"rpt:cube-22","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:AwardTypeAxis","domainNetwork":"rpt:domain-32","optional":true}]},{"name":"rpt:cube-23","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:PlanNameAxis","domainNetwork":"rpt:domain-33","optional":true},{"dimension":"us-gaap:AwardTypeAxis","domainNetwork":"rpt:domain-34","optional":true}]},{"name":"rpt:cube-24","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:AwardTypeAxis","domainNetwork":"rpt:domain-35","optional":true}]},{"name":"rpt:cube-25","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:PlanNameAxis","domainNetwork":"rpt:domain-36","optional":true},{"dimension":"us-gaap:AwardTypeAxis","domainNetwork":"rpt:domain-34","optional":true}]},{"name":"rpt:cube-26","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:TitleOfIndividualAxis","domainNetwork":"rpt:domain-37","optional":true},{"dimension":"us-gaap:VestingAxis","domainNetwork":"rpt:domain-38","optional":true},{"dimension":"calx:StockOptionByTypeAxis","domainNetwork":"rpt:domain-39","optional":true},{"dimension":"us-gaap:PlanNameAxis","domainNetwork":"rpt:domain-40","optional":true},{"dimension":"us-gaap:AwardTypeAxis","domainNetwork":"rpt:domain-41","optional":true}]},{"name":"rpt:cube-27","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:AwardTypeAxis","domainNetwork":"rpt:domain-42","optional":true}]},{"name":"rpt:cube-undimensioned","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true}]}],"labels":[{"forObject":"calx:A2010PlanMember","labelType":"xbrl:terseLabel","value":"2010 Plan","language":"en-US"},{"forObject":"calx:A2010PlanMember","labelType":"xbrl:label","value":"2010 Plan [Member]","language":"en-US"},{"forObject":"calx:A2010PlanMember","labelType":"xbrl:documentation","value":"2010 Plan [Member]","language":"en-US"},{"forObject":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember","labelType":"xbrl:terseLabel","value":"2017 Nonqualified Employee Stock Purchase Plan","language":"en-US"},{"forObject":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember","labelType":"xbrl:label","value":"2017 Nonqualified Employee Stock Purchase Plan [Member]","language":"en-US"},{"forObject":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember","labelType":"xbrl:documentation","value":"2017 Nonqualified Employee Stock Purchase Plan","language":"en-US"},{"forObject":"calx:AccountingStandardsUpdate201815Member","labelType":"xbrl:terseLabel","value":"Accounting Standards Update 2018-15 [Member]","language":"en-US"},{"forObject":"calx:AccountingStandardsUpdate201815Member","labelType":"xbrl:label","value":"Accounting Standards Update 2018-15 [Member]","language":"en-US"},{"forObject":"calx:AccountingStandardsUpdate201815Member","labelType":"xbrl:documentation","value":"Accounting Standards Update 2018-15","language":"en-US"},{"forObject":"calx:AccruedBusinessTravelExpense","labelType":"xbrl:terseLabel","value":"Accrued business events","language":"en-US"},{"forObject":"calx:AccruedBusinessTravelExpense","labelType":"xbrl:label","value":"Accrued Business Travel Expense","language":"en-US"},{"forObject":"calx:AccruedBusinessTravelExpense","labelType":"xbrl:documentation","value":"Accrued Business Travel Expense","language":"en-US"},{"forObject":"calx:AccruedCustomerRebates","labelType":"xbrl:terseLabel","value":"Accrued customer rebates/prepayments","language":"en-US"},{"forObject":"calx:AccruedCustomerRebates","labelType":"xbrl:label","value":"Accrued Customer Rebates","language":"en-US"},{"forObject":"calx:AccruedCustomerRebates","labelType":"xbrl:documentation","value":"Accrued customer rebates.","language":"en-US"},{"forObject":"calx:AccruedEquipmentFinancingArrangementsCurrent","labelType":"xbrl:terseLabel","value":"Current portion of equipment financing arrangements","language":"en-US"},{"forObject":"calx:AccruedEquipmentFinancingArrangementsCurrent","labelType":"xbrl:label","value":"Accrued Equipment Financing Arrangements, Current","language":"en-US"},{"forObject":"calx:AccruedEquipmentFinancingArrangementsCurrent","labelType":"xbrl:documentation","value":"Accrued Equipment Financing Arrangements, Current","language":"en-US"},{"forObject":"calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer","labelType":"xbrl:terseLabel","value":"Accrued excess and obsolete inventory at CMs or ODMs","language":"en-US"},{"forObject":"calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer","labelType":"xbrl:label","value":"Accrued Excess and Obsolete Inventory At Contract Manufacturer","language":"en-US"},{"forObject":"calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer","labelType":"xbrl:documentation","value":"Accrued excess and obsolete inventory at contract manufacturer.","language":"en-US"},{"forObject":"calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer","labelType":"xbrl:verboseLabel","value":"Accrued professional and consulting fees","language":"en-US"},{"forObject":"calx:AccruedFreight","labelType":"xbrl:terseLabel","value":"Accrued freight","language":"en-US"},{"forObject":"calx:AccruedFreight","labelType":"xbrl:label","value":"Accrued Freight","language":"en-US"},{"forObject":"calx:AccruedFreight","labelType":"xbrl:documentation","value":"Accrued Freight","language":"en-US"},{"forObject":"calx:CaliforniaStateMember","labelType":"xbrl:terseLabel","value":"California State","language":"en-US"},{"forObject":"calx:CaliforniaStateMember","labelType":"xbrl:label","value":"California State [Member]","language":"en-US"},{"forObject":"calx:CaliforniaStateMember","labelType":"xbrl:documentation","value":"California State [Member]","language":"en-US"},{"forObject":"calx:CaribbeanMember","labelType":"xbrl:terseLabel","value":"Middle East","language":"en-US"},{"forObject":"calx:CaribbeanMember","labelType":"xbrl:label","value":"Caribbean [Member]","language":"en-US"},{"forObject":"calx:CaribbeanMember","labelType":"xbrl:documentation","value":"Caribbean [Member]","language":"en-US"},{"forObject":"calx:CashCashEquivalentsAndMarketableSecuritiesPolicyPolicyTextBlockPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Cash, Cash Equivalents, Restricted Cash and Marketable Securities","language":"en-US"},{"forObject":"calx:CashCashEquivalentsAndMarketableSecuritiesPolicyPolicyTextBlockPolicyTextBlock","labelType":"xbrl:label","value":"Cash, Cash Equivalents, and Marketable Securities, Policy [Policy Text Block] [Policy Text Block]","language":"en-US"},{"forObject":"calx:CashCashEquivalentsAndMarketableSecuritiesPolicyPolicyTextBlockPolicyTextBlock","labelType":"xbrl:documentation","value":"Disclosure of accounting policy for cash and cash equivalents, and for investments in debt and equity securities that have readily determinable fair values (marketable securities).","language":"en-US"},{"forObject":"calx:CenturyLinkMember","labelType":"xbrl:terseLabel","value":"CenturyLink","language":"en-US"},{"forObject":"calx:CenturyLinkMember","labelType":"xbrl:label","value":"CenturyLink [Member]","language":"en-US"},{"forObject":"calx:CenturyLinkMember","labelType":"xbrl:documentation","value":"CenturyLink","language":"en-US"},{"forObject":"calx:ChangeInCapitalExpendituresIncurredButNotYetPaid","labelType":"xbrl:terseLabel","value":"Changes in accounts payable and accrued liabilities related to purchases of property and equipment","language":"en-US"},{"forObject":"calx:ChangeInCapitalExpendituresIncurredButNotYetPaid","labelType":"xbrl:label","value":"Change In Capital Expenditures Incurred But Not Yet Paid","language":"en-US"},{"forObject":"calx:ChangeInCapitalExpendituresIncurredButNotYetPaid","labelType":"xbrl:documentation","value":"Change In Capital Expenditures Incurred But Not Yet Paid","language":"en-US"},{"forObject":"calx:ClearfieldInc.Member","labelType":"xbrl:terseLabel","value":"Clearfield, Inc.","language":"en-US"},{"forObject":"calx:ClearfieldInc.Member","labelType":"xbrl:label","value":"Clearfield, Inc. [Member]","language":"en-US"},{"forObject":"calx:ClearfieldInc.Member","labelType":"xbrl:documentation","value":"Clearfield, Inc. [Member]","language":"en-US"},{"forObject":"calx:ComputerEquipmentAndPurchasedSoftwareMember","labelType":"xbrl:verboseLabel","value":"Computer equipment and purchased software","language":"en-US"},{"forObject":"calx:ComputerEquipmentAndPurchasedSoftwareMember","labelType":"xbrl:label","value":"Computer Equipment and Purchased Software [Member]","language":"en-US"},{"forObject":"calx:ComputerEquipmentAndPurchasedSoftwareMember","labelType":"xbrl:documentation","value":"Computer equipment and purchased software.","language":"en-US"},{"forObject":"calx:ContractualTermStockOptions","labelType":"xbrl:terseLabel","value":"Contractual term, stock options","language":"en-US"},{"forObject":"calx:ContractualTermStockOptions","labelType":"xbrl:label","value":"Contractual Term, Stock Options","language":"en-US"},{"forObject":"calx:ContractualTermStockOptions","labelType":"xbrl:documentation","value":"Contractual Term, Stock Options","language":"en-US"},{"forObject":"calx:ContractwithCustomerAssetPriorPeriodNotRecognized","labelType":"xbrl:terseLabel","value":"Contract asset, prior period, not recognized","language":"en-US"},{"forObject":"calx:ContractwithCustomerAssetPriorPeriodNotRecognized","labelType":"xbrl:label","value":"Contract with Customer, Asset, Prior Period, Not Recognized","language":"en-US"},{"forObject":"calx:ContractwithCustomerAssetPriorPeriodNotRecognized","labelType":"xbrl:documentation","value":"Contract with Customer, Asset, Prior Period, Not Recognized","language":"en-US"},{"forObject":"calx:CostOfRevenueServicesMember","labelType":"xbrl:terseLabel","value":"Services","language":"en-US"},{"forObject":"calx:CostOfRevenueServicesMember","labelType":"xbrl:label","value":"Cost Of Revenue, Services [Member]","language":"en-US"},{"forObject":"calx:CostOfRevenueServicesMember","labelType":"xbrl:documentation","value":"Cost Of Revenue, Services [Member]","language":"en-US"},{"forObject":"calx:CostOfRevenueSystemsMember","labelType":"xbrl:terseLabel","value":"Systems","language":"en-US"},{"forObject":"calx:CostOfRevenueSystemsMember","labelType":"xbrl:label","value":"Cost Of Revenue, Systems [Member]","language":"en-US"},{"forObject":"calx:CostOfRevenueSystemsMember","labelType":"xbrl:documentation","value":"Cost Of Revenue, Systems [Member]","language":"en-US"},{"forObject":"calx:DisposalGroupPeriodOfNewOrdersSolicitation","labelType":"xbrl:terseLabel","value":"Period of new orders solicitation","language":"en-US"},{"forObject":"calx:DisposalGroupPeriodOfNewOrdersSolicitation","labelType":"xbrl:label","value":"Disposal Group, Period Of New Orders Solicitation","language":"en-US"},{"forObject":"calx:DisposalGroupPeriodOfNewOrdersSolicitation","labelType":"xbrl:documentation","value":"Disposal Group, Period Of New Orders Solicitation","language":"en-US"},{"forObject":"calx:DocumentAndEntityInformationAbstract","labelType":"xbrl:label","value":"Document and Entity Information [Abstract]","language":"en-US"},{"forObject":"calx:DocumentAndEntityInformationAbstract","labelType":"xbrl:documentation","value":"Document and entity information.","language":"en-US"},{"forObject":"calx:EffectiveIncomeTaxRateReconciliationForeignIncomeInclusionPercent","labelType":"xbrl:terseLabel","value":"Foreign income inclusion","language":"en-US"},{"forObject":"calx:EffectiveIncomeTaxRateReconciliationForeignIncomeInclusionPercent","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Foreign Income Inclusion, Percent","language":"en-US"},{"forObject":"calx:EffectiveIncomeTaxRateReconciliationForeignIncomeInclusionPercent","labelType":"xbrl:documentation","value":"Effective Income Tax Rate Reconciliation, Foreign Income Inclusion, Percent","language":"en-US"},{"forObject":"calx:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017Percent","labelType":"xbrl:terseLabel","value":"Tax reform","language":"en-US"},{"forObject":"calx:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017Percent","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Tax Cuts And Jobs Act Of 2017, Percent","language":"en-US"},{"forObject":"calx:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017Percent","labelType":"xbrl:documentation","value":"Effective Income Tax Rate Reconciliation, Tax Cuts And Jobs Act Of 2017, Percent","language":"en-US"},{"forObject":"calx:EffectiveIncomeTaxRateReconciliationTopic606AdjustmentPercent","labelType":"xbrl:terseLabel","value":"Topic 606 adjustment","language":"en-US"},{"forObject":"calx:EffectiveIncomeTaxRateReconciliationTopic606AdjustmentPercent","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Topic 606 Adjustment, Percent","language":"en-US"},{"forObject":"calx:EffectiveIncomeTaxRateReconciliationTopic606AdjustmentPercent","labelType":"xbrl:documentation","value":"Effective Income Tax Rate Reconciliation, Topic 606 Adjustment, Percent","language":"en-US"},{"forObject":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearFour","labelType":"xbrl:terseLabel","value":"Stock-based compensation expense to be recognized in 2021","language":"en-US"},{"forObject":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearFour","labelType":"xbrl:label","value":"Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Four","language":"en-US"},{"forObject":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearFour","labelType":"xbrl:documentation","value":"Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Four","language":"en-US"},{"forObject":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearThree","labelType":"xbrl:terseLabel","value":"Stock-based compensation expense to be recognized in 2020","language":"en-US"},{"forObject":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearThree","labelType":"xbrl:label","value":"Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Three","language":"en-US"},{"forObject":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearThree","labelType":"xbrl:documentation","value":"Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Three","language":"en-US"},{"forObject":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearTwo","labelType":"xbrl:terseLabel","value":"Stock-based compensation expense to be recognized in 2019","language":"en-US"},{"forObject":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearTwo","labelType":"xbrl:label","value":"Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Two","language":"en-US"},{"forObject":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearTwo","labelType":"xbrl:documentation","value":"Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Two","language":"en-US"},{"forObject":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedNextTwelveMonth","labelType":"xbrl:terseLabel","value":"Stock-based compensation expense to be recognized in 2018","language":"en-US"},{"forObject":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedNextTwelveMonth","labelType":"xbrl:label","value":"Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized Next Twelve Month","language":"en-US"},{"forObject":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedNextTwelveMonth","labelType":"xbrl:documentation","value":"Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized Next Twelve Month","language":"en-US"},{"forObject":"calx:EngineeringServicesMember","labelType":"xbrl:terseLabel","value":"Engineering Services","language":"en-US"},{"forObject":"calx:EngineeringServicesMember","labelType":"xbrl:label","value":"Engineering Services [Member]","language":"en-US"},{"forObject":"calx:EngineeringServicesMember","labelType":"xbrl:documentation","value":"Engineering Services [Member]","language":"en-US"},{"forObject":"calx:ExtendedWarrantyMember","labelType":"xbrl:terseLabel","value":"Extended warranty","language":"en-US"},{"forObject":"calx:ExtendedWarrantyMember","labelType":"xbrl:label","value":"Extended Warranty [Member]","language":"en-US"},{"forObject":"calx:ExtendedWarrantyMember","labelType":"xbrl:documentation","value":"Extended Warranty","language":"en-US"},{"forObject":"calx:GainLossOnSaleOfProductLine","labelType":"xbrl:negatedTerseLabel","value":"Gain on sale of product line","language":"en-US"},{"forObject":"calx:GainLossOnSaleOfProductLine","labelType":"xbrl:label","value":"Gain (Loss) On Sale Of Product Line","language":"en-US"},{"forObject":"calx:GainLossOnSaleOfProductLine","labelType":"xbrl:documentation","value":"Gain (Loss) On Sale Of Product Line","language":"en-US"},{"forObject":"calx:IncentiveStockOptionMember","labelType":"xbrl:terseLabel","value":"Incentive Stock Option","language":"en-US"},{"forObject":"calx:IncentiveStockOptionMember","labelType":"xbrl:label","value":"Incentive Stock Option [Member]","language":"en-US"},{"forObject":"calx:IncentiveStockOptionMember","labelType":"xbrl:documentation","value":"incentive stock option [Member]","language":"en-US"},{"forObject":"calx:IncomeTaxesLineItems","labelType":"xbrl:terseLabel","value":"Income Taxes [Line Items]","language":"en-US"},{"forObject":"calx:IncomeTaxesLineItems","labelType":"xbrl:label","value":"Income Taxes [Line Items]","language":"en-US"},{"forObject":"calx:IncomeTaxesLineItems","labelType":"xbrl:documentation","value":"Income Taxes [Line Items]","language":"en-US"},{"forObject":"calx:IncomeTaxesTable","labelType":"xbrl:terseLabel","value":"Income Taxes","language":"en-US"},{"forObject":"calx:IncomeTaxesTable","labelType":"xbrl:label","value":"Income Taxes [Table]","language":"en-US"},{"forObject":"calx:IncomeTaxesTable","labelType":"xbrl:documentation","value":"Income Taxes [Table]","language":"en-US"},{"forObject":"calx:InducementAwardMember","labelType":"xbrl:terseLabel","value":"Inducement Award","language":"en-US"},{"forObject":"calx:InducementAwardMember","labelType":"xbrl:label","value":"Inducement Award [Member]","language":"en-US"},{"forObject":"calx:InducementAwardMember","labelType":"xbrl:documentation","value":"Inducement Award [Member]","language":"en-US"},{"forObject":"calx:MaximumSharesAllowedToBeIssued","labelType":"xbrl:terseLabel","value":"Maximum shares allowed to be issued","language":"en-US"},{"forObject":"calx:MaximumSharesAllowedToBeIssued","labelType":"xbrl:label","value":"Maximum Shares Allowed To Be Issued","language":"en-US"},{"forObject":"calx:MaximumSharesAllowedToBeIssued","labelType":"xbrl:documentation","value":"Maximum Shares Allowed To Be Issued","language":"en-US"},{"forObject":"calx:MinimumExercisePriceOfStockOptionPercent","labelType":"xbrl:terseLabel","value":"Minimum exercise price of stock option, percentage","language":"en-US"},{"forObject":"calx:MinimumExercisePriceOfStockOptionPercent","labelType":"xbrl:label","value":"Minimum Exercise Price Of Stock Option Percent","language":"en-US"},{"forObject":"calx:MinimumExercisePriceOfStockOptionPercent","labelType":"xbrl:documentation","value":"Minimum exercise price of stock options expressed as a percentage of the fair market value of the Company\u2019s common stock at grant date.","language":"en-US"},{"forObject":"calx:NumberOfEquityIncentivePlans","labelType":"xbrl:terseLabel","value":"Number of equity incentive plans","language":"en-US"},{"forObject":"calx:NumberOfEquityIncentivePlans","labelType":"xbrl:label","value":"Number of Equity Incentive Plans","language":"en-US"},{"forObject":"calx:NumberOfEquityIncentivePlans","labelType":"xbrl:documentation","value":"Number of equity plans.","language":"en-US"},{"forObject":"calx:OperatingExpensesAmortization","labelType":"xbrl:verboseLabel","value":"Amortization of intangible assets","language":"en-US"},{"forObject":"calx:OperatingExpensesAmortization","labelType":"xbrl:label","value":"Operating Expenses Amortization","language":"en-US"},{"forObject":"calx:OperatingExpensesAmortization","labelType":"xbrl:documentation","value":"The amount of expense recognized in the current period in the operating expenses that reflects the allocation of the costs of intangible assets over the expected benefit period of such assets. This element excludes the intangible assets used in the production of goods.","language":"en-US"},{"forObject":"calx:OperatingLeaseAreaOfOffice","labelType":"xbrl:terseLabel","value":"Area of office","language":"en-US"},{"forObject":"calx:OperatingLeaseAreaOfOffice","labelType":"xbrl:label","value":"Operating Lease, Area Of Office","language":"en-US"},{"forObject":"calx:OperatingLeaseAreaOfOffice","labelType":"xbrl:documentation","value":"Operating Lease, Area Of Office","language":"en-US"},{"forObject":"calx:OtherStateMember","labelType":"xbrl:terseLabel","value":"Other State","language":"en-US"},{"forObject":"calx:OtherStateMember","labelType":"xbrl:label","value":"Other State [Member]","language":"en-US"},{"forObject":"calx:OtherStateMember","labelType":"xbrl:documentation","value":"Other State [Member]","language":"en-US"},{"forObject":"calx:OutdoorCabinetProductLineMember","labelType":"xbrl:terseLabel","value":"Outdoor Cabinet Product Line","language":"en-US"},{"forObject":"calx:OutdoorCabinetProductLineMember","labelType":"xbrl:label","value":"Outdoor Cabinet Product Line [Member]","language":"en-US"},{"forObject":"calx:OutdoorCabinetProductLineMember","labelType":"xbrl:documentation","value":"Outdoor Cabinet Product Line [Member]","language":"en-US"},{"forObject":"calx:PercentOfHistoricalVolatility","labelType":"xbrl:terseLabel","value":"Percent of historical volatility","language":"en-US"},{"forObject":"calx:PercentOfHistoricalVolatility","labelType":"xbrl:label","value":"Percent of Historical Volatility","language":"en-US"},{"forObject":"calx:PercentOfHistoricalVolatility","labelType":"xbrl:documentation","value":"Percent of Historical Volatility","language":"en-US"},{"forObject":"calx:PercentOfImpliedVolatility","labelType":"xbrl:terseLabel","value":"Percent of implied volatility","language":"en-US"},{"forObject":"calx:PercentOfImpliedVolatility","labelType":"xbrl:label","value":"Percent of Implied Volatility","language":"en-US"},{"forObject":"calx:PercentOfImpliedVolatility","labelType":"xbrl:documentation","value":"Percent of Implied Volatility","language":"en-US"},{"forObject":"calx:PerformanceBasedStockOptionsMember","labelType":"xbrl:terseLabel","value":"Performance Based Stock Options","language":"en-US"},{"forObject":"calx:PerformanceBasedStockOptionsMember","labelType":"xbrl:label","value":"Performance Based Stock Options [Member]","language":"en-US"},{"forObject":"calx:PerformanceBasedStockOptionsMember","labelType":"xbrl:documentation","value":"Performance Based Stock Options","language":"en-US"},{"forObject":"calx:PetalumaCAMember","labelType":"xbrl:terseLabel","value":"Petaluma, CA","language":"en-US"},{"forObject":"calx:PetalumaCAMember","labelType":"xbrl:label","value":"Petaluma, CA [Member]","language":"en-US"},{"forObject":"calx:PetalumaCAMember","labelType":"xbrl:documentation","value":"Petaluma, CA [Member]","language":"en-US"},{"forObject":"calx:PriorPlansMember","labelType":"xbrl:terseLabel","value":"Prior Plans","language":"en-US"},{"forObject":"calx:PriorPlansMember","labelType":"xbrl:label","value":"Prior Plans [Member]","language":"en-US"},{"forObject":"calx:PriorPlansMember","labelType":"xbrl:documentation","value":"Prior Plans [Member]","language":"en-US"},{"forObject":"calx:ProceedsFromSaleOfProductLine","labelType":"xbrl:terseLabel","value":"Proceeds from sale of product line","language":"en-US"},{"forObject":"calx:ProceedsFromSaleOfProductLine","labelType":"xbrl:label","value":"Proceeds From Sale Of Product Line","language":"en-US"},{"forObject":"calx:ProceedsFromSaleOfProductLine","labelType":"xbrl:documentation","value":"Proceeds From Sale Of Product Line","language":"en-US"},{"forObject":"calx:ProductAndServicesMember","labelType":"xbrl:terseLabel","value":"Product and services","language":"en-US"},{"forObject":"calx:ProductAndServicesMember","labelType":"xbrl:label","value":"Product and Services [Member]","language":"en-US"},{"forObject":"calx:ProductAndServicesMember","labelType":"xbrl:documentation","value":"Product and Services","language":"en-US"},{"forObject":"calx:ProductReturnReserve","labelType":"xbrl:negatedLabel","value":"Product return reserve (1)","language":"en-US"},{"forObject":"calx:ProductReturnReserve","labelType":"xbrl:label","value":"Product Return Reserve","language":"en-US"},{"forObject":"calx:ProductReturnReserve","labelType":"xbrl:documentation","value":"A valuation allowance for the amount of products sold that the entity expects to be returned by the purchaser.","language":"en-US"},{"forObject":"calx:ProductReturnReserveCurrent","labelType":"xbrl:terseLabel","value":"Product return reserve","language":"en-US"},{"forObject":"calx:ProductReturnReserveCurrent","labelType":"xbrl:label","value":"Product Return Reserve, Current","language":"en-US"},{"forObject":"calx:ProductReturnReserveCurrent","labelType":"xbrl:documentation","value":"Product Return Reserve, Current","language":"en-US"},{"forObject":"calx:ProductReturnReserveMember","labelType":"xbrl:terseLabel","value":"Product return reserve","language":"en-US"},{"forObject":"calx:ProductReturnReserveMember","labelType":"xbrl:label","value":"Product Return Reserve [Member]","language":"en-US"},{"forObject":"calx:ProductReturnReserveMember","labelType":"xbrl:documentation","value":"Reserve established for amounts due that are unlikely to be received due to customer's return of products.","language":"en-US"},{"forObject":"calx:ProductWarrantyPeriod","labelType":"xbrl:terseLabel","value":"Product warranty period","language":"en-US"},{"forObject":"calx:ProductWarrantyPeriod","labelType":"xbrl:label","value":"Product Warranty Period","language":"en-US"},{"forObject":"calx:ProductWarrantyPeriod","labelType":"xbrl:documentation","value":"Represents the general warranty period for the Company's hardware products from the date of shipment.","language":"en-US"},{"forObject":"calx:PurchaseObligationTerm","labelType":"xbrl:terseLabel","value":"Purchase obligation, term","language":"en-US"},{"forObject":"calx:PurchaseObligationTerm","labelType":"xbrl:label","value":"Purchase Obligation, Term","language":"en-US"},{"forObject":"calx:PurchaseObligationTerm","labelType":"xbrl:documentation","value":"Purchase Obligation, Term","language":"en-US"},{"forObject":"calx:ResearchAndDevelopmentEquipmentMember","labelType":"xbrl:terseLabel","value":"Research And Development Equipment","language":"en-US"},{"forObject":"calx:ResearchAndDevelopmentEquipmentMember","labelType":"xbrl:label","value":"Research And Development Equipment [Member]","language":"en-US"},{"forObject":"calx:ResearchAndDevelopmentEquipmentMember","labelType":"xbrl:documentation","value":"Research And Development Equipment [Member]","language":"en-US"},{"forObject":"calx:SanJoseCaliforniaMember","labelType":"xbrl:terseLabel","value":"San Jose, California","language":"en-US"},{"forObject":"calx:SanJoseCaliforniaMember","labelType":"xbrl:label","value":"San Jose, California [Member]","language":"en-US"},{"forObject":"calx:SanJoseCaliforniaMember","labelType":"xbrl:documentation","value":"San Jose, California","language":"en-US"},{"forObject":"calx:ScheduleOfCertainTermsLineItemsLineItems","labelType":"xbrl:terseLabel","value":"Schedule of Certain Terms [Line Items]","language":"en-US"},{"forObject":"calx:ScheduleOfCertainTermsLineItemsLineItems","labelType":"xbrl:label","value":"Schedule of Certain Terms [Line Items] [Line Items]","language":"en-US"},{"forObject":"calx:ScheduleOfCertainTermsLineItemsLineItems","labelType":"xbrl:documentation","value":"Schedule of Certain Terms [Line Items]","language":"en-US"},{"forObject":"calx:ScheduleOfCertainTermsTableTable","labelType":"xbrl:terseLabel","value":"Schedule of Certain Terms [Table]","language":"en-US"},{"forObject":"calx:ScheduleOfCertainTermsTableTable","labelType":"xbrl:label","value":"Schedule of Certain Terms [Table] [Table]","language":"en-US"},{"forObject":"calx:ScheduleOfCertainTermsTableTable","labelType":"xbrl:documentation","value":"Schedule of ranges of cutomer payment term and warranty term.","language":"en-US"},{"forObject":"calx:ScheduleOfGrantDateFairValuesTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Grant Date Fair Values","language":"en-US"},{"forObject":"calx:ScheduleOfGrantDateFairValuesTableTextBlock","labelType":"xbrl:label","value":"Schedule of Grant Date Fair Values [Table Text Block]","language":"en-US"},{"forObject":"calx:ScheduleOfGrantDateFairValuesTableTextBlock","labelType":"xbrl:documentation","value":"Schedule of Grant Date Fair Values [Table Text Block]","language":"en-US"},{"forObject":"calx:SegmentGeographicalOtherCountriesMember","labelType":"xbrl:terseLabel","value":"Other","language":"en-US"},{"forObject":"calx:SegmentGeographicalOtherCountriesMember","labelType":"xbrl:label","value":"Segment, Geographical, Other Countries [Member]","language":"en-US"},{"forObject":"calx:SegmentGeographicalOtherCountriesMember","labelType":"xbrl:documentation","value":"Segment, Geographical, Other Countries [Member]","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriodSubsequentPeriod","labelType":"xbrl:terseLabel","value":"Subsequent performance period","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriodSubsequentPeriod","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement By Share-Based Payment Award, Award Requisite Service Period, Subsequent Period","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriodSubsequentPeriod","labelType":"xbrl:documentation","value":"Share-Based Compensation Arrangement By Share-Based Payment Award, Award Requisite Service Period, Subsequent Period","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingAnniversaryPeriod","labelType":"xbrl:terseLabel","value":"Award vesting, anniversary period","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingAnniversaryPeriod","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement By Share-Based Payment Award, Award Vesting, Anniversary Period","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingAnniversaryPeriod","labelType":"xbrl:documentation","value":"Share-Based Compensation Arrangement By Share-Based Payment Award, Award Vesting, Anniversary Period","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumAnnualNumberOfSharesReserved","labelType":"xbrl:terseLabel","value":"Maximum annual number of shares reserved (in shares)","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumAnnualNumberOfSharesReserved","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement By Share-Based Payment Award, Maximum Annual Number Of Shares Reserved","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumAnnualNumberOfSharesReserved","labelType":"xbrl:documentation","value":"Share-Based Compensation Arrangement By Share-Based Payment Award, Maximum Annual Number Of Shares Reserved","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent","labelType":"xbrl:terseLabel","value":"Maximum contribution percent","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement By Share-Based Payment Award, Maximum Contribution Percent","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent","labelType":"xbrl:documentation","value":"Share-Based Compensation Arrangement By Share-Based Payment Award, Maximum Contribution Percent","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod","labelType":"xbrl:terseLabel","value":"Number of shares authorized per purchase period","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod","labelType":"xbrl:documentation","value":"Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceofCommonStockNumberOfOfferingPeriods","labelType":"xbrl:terseLabel","value":"Number of offering periods","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceofCommonStockNumberOfOfferingPeriods","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement By Share-Based Payment Award, Purchase Price of Common Stock, Number Of Offering Periods","language":"en-US"},{"forObject":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceofCommonStockNumberOfOfferingPeriods","labelType":"xbrl:documentation","value":"Share-Based Compensation Arrangement By Share-Based Payment Award, Purchase Price of Common Stock, Number Of Offering Periods","language":"en-US"},{"forObject":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConvertedintoCommonStock","labelType":"xbrl:terseLabel","value":"RSU granted converted into common stock","language":"en-US"},{"forObject":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConvertedintoCommonStock","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Converted into Common Stock","language":"en-US"},{"forObject":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConvertedintoCommonStock","labelType":"xbrl:documentation","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Converted into Common Stock","language":"en-US"},{"forObject":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsOutstandingIntrinsicValueAmountPerShare","labelType":"xbrl:terseLabel","value":"Stock options, intrinsic value per share (in dollars per share)","language":"en-US"},{"forObject":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsOutstandingIntrinsicValueAmountPerShare","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value, Amount Per Share","language":"en-US"},{"forObject":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsOutstandingIntrinsicValueAmountPerShare","labelType":"xbrl:documentation","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value, Amount Per Share","language":"en-US"},{"forObject":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod","labelType":"xbrl:terseLabel","value":"Offering period","language":"en-US"},{"forObject":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Offering Period","language":"en-US"},{"forObject":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod","labelType":"xbrl:documentation","value":"Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Offering Period","language":"en-US"},{"forObject":"calx:SharesReservedForFutureIssuanceTableTextBlock","labelType":"xbrl:terseLabel","value":"Shares Reserved For Future Issuance","language":"en-US"},{"forObject":"calx:SharesReservedForFutureIssuanceTableTextBlock","labelType":"xbrl:label","value":"Shares Reserved For Future Issuance [Table Text Block]","language":"en-US"},{"forObject":"calx:SharesReservedForFutureIssuanceTableTextBlock","labelType":"xbrl:documentation","value":"Represents the schdule to summarize the number of common shares reserved for future issuance. [Table Text Block]","language":"en-US"},{"forObject":"calx:SiliconValleyBankMember","labelType":"xbrl:terseLabel","value":"Silicon Valley Bank","language":"en-US"},{"forObject":"calx:SiliconValleyBankMember","labelType":"xbrl:label","value":"Silicon Valley Bank [Member]","language":"en-US"},{"forObject":"calx:SiliconValleyBankMember","labelType":"xbrl:documentation","value":"Silicon Valley Bank [Member]","language":"en-US"},{"forObject":"calx:StockIssuedDuringPeriodSharesPerformanceRestrictedStockAwardNetofForfeitures","labelType":"xbrl:terseLabel","value":"Issuance of vested performance restricted stock units and restricted stock units, net of taxes withheld, shares","language":"en-US"},{"forObject":"calx:StockIssuedDuringPeriodSharesPerformanceRestrictedStockAwardNetofForfeitures","labelType":"xbrl:label","value":"Stock Issued During Period, Shares, Performance Restricted Stock Award, Net of Forfeitures","language":"en-US"},{"forObject":"calx:StockIssuedDuringPeriodSharesPerformanceRestrictedStockAwardNetofForfeitures","labelType":"xbrl:documentation","value":"Stock Issued During Period, Shares, Performance Restricted Stock Award, Net of Forfeitures","language":"en-US"},{"forObject":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","labelType":"xbrl:terseLabel","value":"Issuance of vested performance restricted stock units and restricted stock units, net of taxes withheld","language":"en-US"},{"forObject":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","labelType":"xbrl:label","value":"Stock Issued During Period, Value, Performance Restricted Stock Award, Net of Forfeitures","language":"en-US"},{"forObject":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","labelType":"xbrl:documentation","value":"Stock Issued During Period, Value, Performance Restricted Stock Award, Net of Forfeitures","language":"en-US"},{"forObject":"calx:StockOptionByTypeAxis","labelType":"xbrl:terseLabel","value":"Stock Option By Type [Axis]","language":"en-US"},{"forObject":"calx:StockOptionByTypeAxis","labelType":"xbrl:label","value":"Stock Option By Type [Axis]","language":"en-US"},{"forObject":"calx:StockOptionByTypeAxis","labelType":"xbrl:documentation","value":"Stock Option By Type [Axis]","language":"en-US"},{"forObject":"calx:StockOptionByTypeDomain","labelType":"xbrl:terseLabel","value":"Stock Option Type [Domain]","language":"en-US"},{"forObject":"calx:StockOptionByTypeDomain","labelType":"xbrl:label","value":"Stock Option By Type [Domain]","language":"en-US"},{"forObject":"calx:StockOptionByTypeDomain","labelType":"xbrl:documentation","value":"[Domain] for Stock Option By Type [Axis]","language":"en-US"},{"forObject":"calx:SystemsProductMember","labelType":"xbrl:terseLabel","value":"Systems","language":"en-US"},{"forObject":"calx:SystemsProductMember","labelType":"xbrl:label","value":"Systems Product [Member]","language":"en-US"},{"forObject":"calx:SystemsProductMember","labelType":"xbrl:documentation","value":"Systems Product [Member]","language":"en-US"},{"forObject":"calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes","labelType":"xbrl:terseLabel","value":"Accrued non-income related taxes","language":"en-US"},{"forObject":"calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes","labelType":"xbrl:label","value":"Taxes Payable, Current, Excluding Accrued Income Taxes","language":"en-US"},{"forObject":"calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes","labelType":"xbrl:documentation","value":"Taxes Payable, Current, Excluding Accrued Income Taxes","language":"en-US"},{"forObject":"calx:WestJordanUtahMember","labelType":"xbrl:terseLabel","value":"West Jordan, Utah","language":"en-US"},{"forObject":"calx:WestJordanUtahMember","labelType":"xbrl:label","value":"West Jordan, Utah [Member]","language":"en-US"},{"forObject":"calx:WestJordanUtahMember","labelType":"xbrl:documentation","value":"West Jordan, Utah [Member]","language":"en-US"},{"forObject":"calx:WindstreamMember","labelType":"xbrl:terseLabel","value":"Windstream","language":"en-US"},{"forObject":"calx:WindstreamMember","labelType":"xbrl:label","value":"Windstream [Member]","language":"en-US"},{"forObject":"calx:WindstreamMember","labelType":"xbrl:documentation","value":"Windstream","language":"en-US"},{"forObject":"country:CA","labelType":"xbrl:terseLabel","value":"Canada","language":"en-US"},{"forObject":"country:CA","labelType":"xbrl:label","value":"CANADA","language":"en-US"},{"forObject":"country:CN","labelType":"xbrl:terseLabel","value":"China","language":"en-US"},{"forObject":"country:CN","labelType":"xbrl:label","value":"CHINA","language":"en-US"},{"forObject":"country:US","labelType":"xbrl:terseLabel","value":"United States","language":"en-US"},{"forObject":"country:US","labelType":"xbrl:label","value":"UNITED STATES","language":"en-US"},{"forObject":"dei:AmendmentFlag","labelType":"xbrl:terseLabel","value":"Amendment Flag","language":"en-US"},{"forObject":"dei:AmendmentFlag","labelType":"xbrl:label","value":"Amendment Flag","language":"en-US"},{"forObject":"dei:CurrentFiscalYearEndDate","labelType":"xbrl:terseLabel","value":"Current Fiscal Year End Date","language":"en-US"},{"forObject":"dei:CurrentFiscalYearEndDate","labelType":"xbrl:label","value":"Current Fiscal Year End Date","language":"en-US"},{"forObject":"dei:DocumentFiscalPeriodFocus","labelType":"xbrl:terseLabel","value":"Document Fiscal Period Focus","language":"en-US"},{"forObject":"dei:DocumentFiscalPeriodFocus","labelType":"xbrl:label","value":"Document Fiscal Period Focus","language":"en-US"},{"forObject":"dei:DocumentFiscalYearFocus","labelType":"xbrl:terseLabel","value":"Document Fiscal Year Focus","language":"en-US"},{"forObject":"dei:DocumentFiscalYearFocus","labelType":"xbrl:label","value":"Document Fiscal Year Focus","language":"en-US"},{"forObject":"dei:DocumentPeriodEndDate","labelType":"xbrl:terseLabel","value":"Document Period End Date","language":"en-US"},{"forObject":"dei:DocumentPeriodEndDate","labelType":"xbrl:label","value":"Document Period End Date","language":"en-US"},{"forObject":"dei:DocumentType","labelType":"xbrl:terseLabel","value":"Document Type","language":"en-US"},{"forObject":"dei:DocumentType","labelType":"xbrl:label","value":"Document Type","language":"en-US"},{"forObject":"dei:EntityCentralIndexKey","labelType":"xbrl:terseLabel","value":"Entity Central Index Key","language":"en-US"},{"forObject":"dei:EntityCentralIndexKey","labelType":"xbrl:label","value":"Entity Central Index Key","language":"en-US"},{"forObject":"dei:EntityCommonStockSharesOutstanding","labelType":"xbrl:terseLabel","value":"Entity Common Stock, Shares Outstanding","language":"en-US"},{"forObject":"dei:EntityCommonStockSharesOutstanding","labelType":"xbrl:label","value":"Entity Common Stock, Shares Outstanding","language":"en-US"},{"forObject":"dei:EntityCurrentReportingStatus","labelType":"xbrl:terseLabel","value":"Entity Current Reporting Status","language":"en-US"},{"forObject":"dei:EntityCurrentReportingStatus","labelType":"xbrl:label","value":"Entity Current Reporting Status","language":"en-US"},{"forObject":"dei:EntityEmergingGrowthCompany","labelType":"xbrl:terseLabel","value":"Entity Emerging Growth Company","language":"en-US"},{"forObject":"dei:EntityEmergingGrowthCompany","labelType":"xbrl:label","value":"Entity Emerging Growth Company","language":"en-US"},{"forObject":"dei:EntityFilerCategory","labelType":"xbrl:terseLabel","value":"Entity Filer Category","language":"en-US"},{"forObject":"dei:EntityFilerCategory","labelType":"xbrl:label","value":"Entity Filer Category","language":"en-US"},{"forObject":"dei:EntityPublicFloat","labelType":"xbrl:terseLabel","value":"Entity Public Float","language":"en-US"},{"forObject":"dei:EntityPublicFloat","labelType":"xbrl:label","value":"Entity Public Float","language":"en-US"},{"forObject":"dei:EntityRegistrantName","labelType":"xbrl:terseLabel","value":"Entity Registrant Name","language":"en-US"},{"forObject":"dei:EntityRegistrantName","labelType":"xbrl:label","value":"Entity Registrant Name","language":"en-US"},{"forObject":"dei:EntityShellCompany","labelType":"xbrl:terseLabel","value":"Entity Shell Company","language":"en-US"},{"forObject":"dei:EntityShellCompany","labelType":"xbrl:label","value":"Entity Shell Company","language":"en-US"},{"forObject":"dei:EntitySmallBusiness","labelType":"xbrl:terseLabel","value":"Entity Small Business","language":"en-US"},{"forObject":"dei:EntitySmallBusiness","labelType":"xbrl:label","value":"Entity Small Business","language":"en-US"},{"forObject":"dei:EntityVoluntaryFilers","labelType":"xbrl:terseLabel","value":"Entity Voluntary Filers","language":"en-US"},{"forObject":"dei:EntityVoluntaryFilers","labelType":"xbrl:label","value":"Entity Voluntary Filers","language":"en-US"},{"forObject":"dei:EntityWellKnownSeasonedIssuer","labelType":"xbrl:terseLabel","value":"Entity Well-known Seasoned Issuer","language":"en-US"},{"forObject":"dei:EntityWellKnownSeasonedIssuer","labelType":"xbrl:label","value":"Entity Well-known Seasoned Issuer","language":"en-US"},{"forObject":"dei:TradingSymbol","labelType":"xbrl:terseLabel","value":"Trading Symbol","language":"en-US"},{"forObject":"dei:TradingSymbol","labelType":"xbrl:label","value":"Trading Symbol","language":"en-US"},{"forObject":"srt:CounterpartyNameAxis","labelType":"xbrl:terseLabel","value":"Counterparty Name [Axis]","language":"en-US"},{"forObject":"srt:CounterpartyNameAxis","labelType":"xbrl:label","value":"Counterparty Name [Axis]","language":"en-US"},{"forObject":"srt:EuropeMember","labelType":"xbrl:terseLabel","value":"Europe","language":"en-US"},{"forObject":"srt:EuropeMember","labelType":"xbrl:label","value":"Europe [Member]","language":"en-US"},{"forObject":"srt:MajorCustomersAxis","labelType":"xbrl:terseLabel","value":"Customer [Axis]","language":"en-US"},{"forObject":"srt:MajorCustomersAxis","labelType":"xbrl:label","value":"Customer [Axis]","language":"en-US"},{"forObject":"srt:MaximumMember","labelType":"xbrl:terseLabel","value":"Maximum","language":"en-US"},{"forObject":"srt:MaximumMember","labelType":"xbrl:label","value":"Maximum [Member]","language":"en-US"},{"forObject":"srt:MinimumMember","labelType":"xbrl:terseLabel","value":"Minimum","language":"en-US"},{"forObject":"srt:MinimumMember","labelType":"xbrl:label","value":"Minimum [Member]","language":"en-US"},{"forObject":"srt:NameOfMajorCustomerDomain","labelType":"xbrl:terseLabel","value":"Customer [Domain]","language":"en-US"},{"forObject":"srt:NameOfMajorCustomerDomain","labelType":"xbrl:label","value":"Customer [Domain]","language":"en-US"},{"forObject":"srt:ProductOrServiceAxis","labelType":"xbrl:terseLabel","value":"Product and Service [Axis]","language":"en-US"},{"forObject":"srt:ProductOrServiceAxis","labelType":"xbrl:label","value":"Product and Service [Axis]","language":"en-US"},{"forObject":"srt:ProductsAndServicesDomain","labelType":"xbrl:terseLabel","value":"Product and Service [Domain]","language":"en-US"},{"forObject":"srt:ProductsAndServicesDomain","labelType":"xbrl:label","value":"Product and Service [Domain]","language":"en-US"},{"forObject":"srt:RangeAxis","labelType":"xbrl:terseLabel","value":"Range [Axis]","language":"en-US"},{"forObject":"srt:RangeAxis","labelType":"xbrl:label","value":"Range [Axis]","language":"en-US"},{"forObject":"srt:RangeMember","labelType":"xbrl:terseLabel","value":"Range [Domain]","language":"en-US"},{"forObject":"srt:RangeMember","labelType":"xbrl:label","value":"Range [Domain]","language":"en-US"},{"forObject":"srt:RepurchaseAgreementCounterpartyNameDomain","labelType":"xbrl:terseLabel","value":"Counterparty Name [Domain]","language":"en-US"},{"forObject":"srt:RepurchaseAgreementCounterpartyNameDomain","labelType":"xbrl:label","value":"Counterparty Name [Domain]","language":"en-US"},{"forObject":"srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Changes In Allowance For Doubtful Accounts And Product Reserve","language":"en-US"},{"forObject":"srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock","labelType":"xbrl:label","value":"SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]","language":"en-US"},{"forObject":"srt:SegmentGeographicalDomain","labelType":"xbrl:terseLabel","value":"Geographical [Domain]","language":"en-US"},{"forObject":"srt:SegmentGeographicalDomain","labelType":"xbrl:label","value":"Geographical [Domain]","language":"en-US"},{"forObject":"srt:StatementGeographicalAxis","labelType":"xbrl:terseLabel","value":"Geographical [Axis]","language":"en-US"},{"forObject":"srt:StatementGeographicalAxis","labelType":"xbrl:label","value":"Geographical [Axis]","language":"en-US"},{"forObject":"srt:ValuationAndQualifyingAccountsDisclosureLineItems","labelType":"xbrl:terseLabel","value":"SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]","language":"en-US"},{"forObject":"srt:ValuationAndQualifyingAccountsDisclosureLineItems","labelType":"xbrl:label","value":"SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]","language":"en-US"},{"forObject":"srt:ValuationAndQualifyingAccountsDisclosureTable","labelType":"xbrl:terseLabel","value":"SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]","language":"en-US"},{"forObject":"srt:ValuationAndQualifyingAccountsDisclosureTable","labelType":"xbrl:label","value":"SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]","language":"en-US"},{"forObject":"us-gaap:AccountingPoliciesAbstract","labelType":"xbrl:label","value":"Accounting Policies [Abstract]","language":"en-US"},{"forObject":"us-gaap:AccountingStandardsUpdate201409Member","labelType":"xbrl:terseLabel","value":"Accounting Standards Update 2014-09","language":"en-US"},{"forObject":"us-gaap:AccountingStandardsUpdate201409Member","labelType":"xbrl:label","value":"Accounting Standards Update 2014-09 [Member]","language":"en-US"},{"forObject":"us-gaap:AccountingStandardsUpdate201602Member","labelType":"xbrl:terseLabel","value":"Accounting Standards Update 2016-02","language":"en-US"},{"forObject":"us-gaap:AccountingStandardsUpdate201602Member","labelType":"xbrl:label","value":"Accounting Standards Update 2016-02 [Member]","language":"en-US"},{"forObject":"us-gaap:AccountingStandardsUpdate201618Member","labelType":"xbrl:terseLabel","value":"Accounting Standards Update 2016-18","language":"en-US"},{"forObject":"us-gaap:AccountingStandardsUpdate201618Member","labelType":"xbrl:label","value":"Accounting Standards Update 2016-18 [Member]","language":"en-US"},{"forObject":"us-gaap:AccountsPayableCurrent","labelType":"xbrl:verboseLabel","value":"Accounts payable","language":"en-US"},{"forObject":"us-gaap:AccountsPayableCurrent","labelType":"xbrl:label","value":"Accounts Payable, Current","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGrossCurrent","labelType":"xbrl:verboseLabel","value":"Accounts receivable","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGrossCurrent","labelType":"xbrl:label","value":"Accounts Receivable, Gross, Current","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableMember","labelType":"xbrl:terseLabel","value":"Accounts Receivable","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableMember","labelType":"xbrl:label","value":"Accounts Receivable [Member]","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrent","labelType":"xbrl:verboseLabel","value":"Accounts receivable, net","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrent","labelType":"xbrl:label","value":"Accounts Receivable, Net, Current","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrent","labelType":"xbrl:totalLabel","value":"Accounts receivable, net","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrentAbstract","labelType":"xbrl:verboseLabel","value":"Summary of accounts receivable, net","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrentAbstract","labelType":"xbrl:label","value":"Accounts Receivable, Net, Current [Abstract]","language":"en-US"},{"forObject":"us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments","labelType":"xbrl:negatedLabel","value":"Amortization of premium (discount) relating to available-for-sale securities","language":"en-US"},{"forObject":"us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments","labelType":"xbrl:label","value":"Accretion (Amortization) of Discounts and Premiums, Investments","language":"en-US"},{"forObject":"us-gaap:AccruedInsuranceCurrent","labelType":"xbrl:terseLabel","value":"Accrued insurance","language":"en-US"},{"forObject":"us-gaap:AccruedInsuranceCurrent","labelType":"xbrl:label","value":"Accrued Insurance, Current","language":"en-US"},{"forObject":"us-gaap:AccruedLiabilitiesCurrent","labelType":"xbrl:verboseLabel","value":"Accrued liabilities","language":"en-US"},{"forObject":"us-gaap:AccruedLiabilitiesCurrent","labelType":"xbrl:label","value":"Accrued Liabilities, Current","language":"en-US"},{"forObject":"us-gaap:AccruedLiabilitiesCurrent","labelType":"xbrl:totalLabel","value":"Total accrued liabilities","language":"en-US"},{"forObject":"us-gaap:AccruedLiabilitiesCurrentAbstract","labelType":"xbrl:verboseLabel","value":"Summary of accrued liabilities","language":"en-US"},{"forObject":"us-gaap:AccruedLiabilitiesCurrentAbstract","labelType":"xbrl:label","value":"Accrued Liabilities, Current [Abstract]","language":"en-US"},{"forObject":"us-gaap:AccruedProfessionalFeesCurrent","labelType":"xbrl:terseLabel","value":"Accrued professional and consulting fees","language":"en-US"},{"forObject":"us-gaap:AccruedProfessionalFeesCurrent","labelType":"xbrl:label","value":"Accrued Professional Fees, Current","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","labelType":"xbrl:negatedLabel","value":"Accumulated depreciation and amortization","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","labelType":"xbrl:label","value":"Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment","language":"en-US"},{"forObject":"us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember","labelType":"xbrl:terseLabel","value":"Unrealized Gains and Losses on Available-for-Sale Marketable Securities","language":"en-US"},{"forObject":"us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember","labelType":"xbrl:label","value":"Accumulated Net Investment Gain (Loss) Attributable to Parent [Member]","language":"en-US"},{"forObject":"us-gaap:AccumulatedOtherComprehensiveIncomeLossLineItems","labelType":"xbrl:terseLabel","value":"Accumulated Other Comprehensive Income (Loss) [Line Items]","language":"en-US"},{"forObject":"us-gaap:AccumulatedOtherComprehensiveIncomeLossLineItems","labelType":"xbrl:label","value":"Accumulated Other Comprehensive Income (Loss) [Line Items]","language":"en-US"},{"forObject":"us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax","labelType":"xbrl:verboseLabel","value":"Accumulated other comprehensive loss","language":"en-US"},{"forObject":"us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax","labelType":"xbrl:label","value":"Accumulated Other Comprehensive Income (Loss), Net of Tax","language":"en-US"},{"forObject":"us-gaap:AccumulatedOtherComprehensiveIncomeLossTable","labelType":"xbrl:terseLabel","value":"Accumulated Other Comprehensive Income (Loss) [Table]","language":"en-US"},{"forObject":"us-gaap:AccumulatedOtherComprehensiveIncomeLossTable","labelType":"xbrl:label","value":"Accumulated Other Comprehensive Income (Loss) [Table]","language":"en-US"},{"forObject":"us-gaap:AccumulatedOtherComprehensiveIncomeMember","labelType":"xbrl:verboseLabel","value":"Total","language":"en-US"},{"forObject":"us-gaap:AccumulatedOtherComprehensiveIncomeMember","labelType":"xbrl:label","value":"AOCI Attributable to Parent [Member]","language":"en-US"},{"forObject":"us-gaap:AccumulatedOtherComprehensiveIncomeMember","labelType":"xbrl:terseLabel","value":"Accumulated Other Comprehensive Loss","language":"en-US"},{"forObject":"us-gaap:AccumulatedTranslationAdjustmentMember","labelType":"xbrl:terseLabel","value":"Foreign Currency Translation Adjustments","language":"en-US"},{"forObject":"us-gaap:AccumulatedTranslationAdjustmentMember","labelType":"xbrl:label","value":"Accumulated Foreign Currency Adjustment Attributable to Parent [Member]","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalCommonStock","labelType":"xbrl:verboseLabel","value":"Additional paid-in capital","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalCommonStock","labelType":"xbrl:label","value":"Additional Paid in Capital, Common Stock","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalMember","labelType":"xbrl:terseLabel","value":"Additional Paid-in Capital","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalMember","labelType":"xbrl:label","value":"Additional Paid-in Capital [Member]","language":"en-US"},{"forObject":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","labelType":"xbrl:terseLabel","value":"Adjustments for New Accounting Pronouncements [Axis]","language":"en-US"},{"forObject":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","labelType":"xbrl:label","value":"Adjustments for New Accounting Pronouncements [Axis]","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","labelType":"xbrl:terseLabel","value":"Stock-based compensation","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","labelType":"xbrl:label","value":"Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Adjustments to reconcile net loss to net cash provided by (used in) operating activities:","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:label","value":"Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:AllocatedShareBasedCompensationExpense","labelType":"xbrl:verboseLabel","value":"Stock based compensation","language":"en-US"},{"forObject":"us-gaap:AllocatedShareBasedCompensationExpense","labelType":"xbrl:label","value":"Allocated Share-based Compensation Expense","language":"en-US"},{"forObject":"us-gaap:AllowanceForCreditLossMember","labelType":"xbrl:terseLabel","value":"Allowance for doubtful accounts","language":"en-US"},{"forObject":"us-gaap:AllowanceForCreditLossMember","labelType":"xbrl:label","value":"SEC Schedule, 12-09, Allowance, Credit Loss [Member]","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent","labelType":"xbrl:negatedLabel","value":"Allowance for doubtful accounts","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent","labelType":"xbrl:label","value":"Allowance for Doubtful Accounts Receivable, Current","language":"en-US"},{"forObject":"us-gaap:AmortizationOfIntangibleAssets","labelType":"xbrl:verboseLabel","value":"Amortization of intangible assets","language":"en-US"},{"forObject":"us-gaap:AmortizationOfIntangibleAssets","labelType":"xbrl:label","value":"Amortization of Intangible Assets","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","labelType":"xbrl:terseLabel","value":"Potentially dilutive shares, weighted-average (in shares)","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","labelType":"xbrl:label","value":"Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount","language":"en-US"},{"forObject":"us-gaap:Assets","labelType":"xbrl:terseLabel","value":"Total assets","language":"en-US"},{"forObject":"us-gaap:Assets","labelType":"xbrl:label","value":"Assets","language":"en-US"},{"forObject":"us-gaap:Assets","labelType":"xbrl:totalLabel","value":"Total assets","language":"en-US"},{"forObject":"us-gaap:AssetsAbstract","labelType":"xbrl:verboseLabel","value":"ASSETS","language":"en-US"},{"forObject":"us-gaap:AssetsAbstract","labelType":"xbrl:label","value":"Assets [Abstract]","language":"en-US"},{"forObject":"us-gaap:AssetsCurrent","labelType":"xbrl:totalLabel","value":"Total current assets","language":"en-US"},{"forObject":"us-gaap:AssetsCurrent","labelType":"xbrl:label","value":"Assets, Current","language":"en-US"},{"forObject":"us-gaap:AssetsCurrentAbstract","labelType":"xbrl:verboseLabel","value":"Current Assets:","language":"en-US"},{"forObject":"us-gaap:AssetsCurrentAbstract","labelType":"xbrl:label","value":"Assets, Current [Abstract]","language":"en-US"},{"forObject":"us-gaap:AwardTypeAxis","labelType":"xbrl:terseLabel","value":"Award Type [Axis]","language":"en-US"},{"forObject":"us-gaap:AwardTypeAxis","labelType":"xbrl:label","value":"Award Type [Axis]","language":"en-US"},{"forObject":"us-gaap:BalanceSheetLocationAxis","labelType":"xbrl:terseLabel","value":"Balance Sheet Location [Axis]","language":"en-US"},{"forObject":"us-gaap:BalanceSheetLocationAxis","labelType":"xbrl:label","value":"Balance Sheet Location [Axis]","language":"en-US"},{"forObject":"us-gaap:BalanceSheetLocationDomain","labelType":"xbrl:terseLabel","value":"Balance Sheet Location [Domain]","language":"en-US"},{"forObject":"us-gaap:BalanceSheetLocationDomain","labelType":"xbrl:label","value":"Balance Sheet Location [Domain]","language":"en-US"},{"forObject":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","labelType":"xbrl:label","value":"Balance Sheet Related Disclosures [Abstract]","language":"en-US"},{"forObject":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Applicable Accounting Guidance","language":"en-US"},{"forObject":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","labelType":"xbrl:label","value":"Basis of Accounting, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock","labelType":"xbrl:terseLabel","value":"Description of Business and Significant Accounting Policies","language":"en-US"},{"forObject":"us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock","labelType":"xbrl:label","value":"Business Description and Accounting Policies [Text Block]","language":"en-US"},{"forObject":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member","labelType":"xbrl:terseLabel","value":"Calculated under Revenue Guidance in Effect before Topic 606","language":"en-US"},{"forObject":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member","labelType":"xbrl:label","value":"Calculated under Revenue Guidance in Effect before Topic 606 [Member]","language":"en-US"},{"forObject":"us-gaap:CapitalizedContractCostAmortization","labelType":"xbrl:terseLabel","value":"Capitalized contract cost, amortization","language":"en-US"},{"forObject":"us-gaap:CapitalizedContractCostAmortization","labelType":"xbrl:label","value":"Capitalized Contract Cost, Amortization","language":"en-US"},{"forObject":"us-gaap:CapitalizedContractCostAmortizationPeriod","labelType":"xbrl:terseLabel","value":"Capitalized contract cost, amortization period","language":"en-US"},{"forObject":"us-gaap:CapitalizedContractCostAmortizationPeriod","labelType":"xbrl:label","value":"Capitalized Contract Cost, Amortization Period","language":"en-US"},{"forObject":"us-gaap:CapitalizedContractCostGross","labelType":"xbrl:terseLabel","value":"Capitalized contract cost, gross","language":"en-US"},{"forObject":"us-gaap:CapitalizedContractCostGross","labelType":"xbrl:label","value":"Capitalized Contract Cost, Gross","language":"en-US"},{"forObject":"us-gaap:CapitalizedContractCostImpairmentLoss","labelType":"xbrl:terseLabel","value":"Capitalized contract cost, impairment loss","language":"en-US"},{"forObject":"us-gaap:CapitalizedContractCostImpairmentLoss","labelType":"xbrl:label","value":"Capitalized Contract Cost, Impairment Loss","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsAbstract","labelType":"xbrl:label","value":"Cash and Cash Equivalents [Abstract]","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsAtCarryingValue","labelType":"xbrl:verboseLabel","value":"Cash and cash equivalents","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsAtCarryingValue","labelType":"xbrl:label","value":"Cash and Cash Equivalents, at Carrying Value","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsAxis","labelType":"xbrl:terseLabel","value":"Cash and Cash Equivalents [Axis]","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsAxis","labelType":"xbrl:label","value":"Cash and Cash Equivalents [Axis]","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsFairValueDisclosure","labelType":"xbrl:verboseLabel","value":"Money market funds","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsFairValueDisclosure","labelType":"xbrl:label","value":"Cash and Cash Equivalents, Fair Value Disclosure","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsLineItems","labelType":"xbrl:terseLabel","value":"Cash and Cash Equivalents [Line Items]","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsLineItems","labelType":"xbrl:label","value":"Cash and Cash Equivalents [Line Items]","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock","labelType":"xbrl:terseLabel","value":"Cash and Cash Equivalents","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock","labelType":"xbrl:label","value":"Cash, Cash Equivalents, and Marketable Securities [Text Block]","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","labelType":"xbrl:periodStartLabel","value":"Cash, cash equivalents and restricted cash at beginning of period","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","labelType":"xbrl:label","value":"Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","labelType":"xbrl:periodEndLabel","value":"Cash, cash equivalents and restricted cash at end of period","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","labelType":"xbrl:totalLabel","value":"Net increase (decrease) in cash, cash equivalents and restricted cash","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","labelType":"xbrl:label","value":"Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect","language":"en-US"},{"forObject":"us-gaap:CashMember","labelType":"xbrl:terseLabel","value":"Cash","language":"en-US"},{"forObject":"us-gaap:CashMember","labelType":"xbrl:label","value":"Cash [Member]","language":"en-US"},{"forObject":"us-gaap:ChiefFinancialOfficerMember","labelType":"xbrl:terseLabel","value":"Chief Financial Officer","language":"en-US"},{"forObject":"us-gaap:ChiefFinancialOfficerMember","labelType":"xbrl:label","value":"Chief Financial Officer [Member]","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingencies","labelType":"xbrl:verboseLabel","value":"Commitments and contingencies (See Note 6)","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingencies","labelType":"xbrl:label","value":"Commitments and Contingencies","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","labelType":"xbrl:label","value":"Commitments and Contingencies Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Commitments and Contingencies","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","labelType":"xbrl:label","value":"Commitments and Contingencies Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Loss Contingencies","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesPolicyTextBlock","labelType":"xbrl:label","value":"Commitments and Contingencies, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","labelType":"xbrl:verboseLabel","value":"Shares available for future issuance under ESPP","language":"en-US"},{"forObject":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","labelType":"xbrl:label","value":"Common Stock, Capital Shares Reserved for Future Issuance","language":"en-US"},{"forObject":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","labelType":"xbrl:terseLabel","value":"Shares available for future issuance under ESPP","language":"en-US"},{"forObject":"us-gaap:CommonStockConversionBasis","labelType":"xbrl:terseLabel","value":"Conversion basis description","language":"en-US"},{"forObject":"us-gaap:CommonStockConversionBasis","labelType":"xbrl:label","value":"Common Stock, Conversion Basis","language":"en-US"},{"forObject":"us-gaap:CommonStockDividendsPerShareDeclared","labelType":"xbrl:terseLabel","value":"Dividends declared or paid","language":"en-US"},{"forObject":"us-gaap:CommonStockDividendsPerShareDeclared","labelType":"xbrl:label","value":"Common Stock, Dividends, Per Share, Declared","language":"en-US"},{"forObject":"us-gaap:CommonStockMember","labelType":"xbrl:terseLabel","value":"Common Stock","language":"en-US"},{"forObject":"us-gaap:CommonStockMember","labelType":"xbrl:label","value":"Common Stock [Member]","language":"en-US"},{"forObject":"us-gaap:CommonStockParOrStatedValuePerShare","labelType":"xbrl:verboseLabel","value":"Common stock, par value (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:CommonStockParOrStatedValuePerShare","labelType":"xbrl:label","value":"Common Stock, Par or Stated Value Per Share","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesAuthorized","labelType":"xbrl:verboseLabel","value":"Common stock, shares authorized (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesAuthorized","labelType":"xbrl:label","value":"Common Stock, Shares Authorized","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesIssued","labelType":"xbrl:verboseLabel","value":"Common stock, shares issued (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesIssued","labelType":"xbrl:label","value":"Common Stock, Shares, Issued","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:verboseLabel","value":"Common stock, shares outstanding (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:label","value":"Common Stock, Shares, Outstanding","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:periodStartLabel","value":"Beginning Balance, shares","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:periodEndLabel","value":"Ending Balance, shares","language":"en-US"},{"forObject":"us-gaap:CommonStockValue","labelType":"xbrl:verboseLabel","value":"Common stock, $0.025 par value; 100,000 shares authorized; 59,285 shares issued and 53,955 shares outstanding as of December 31, 2018, and 56,839 shares issued and 51,509 shares outstanding as of December 31, 2017","language":"en-US"},{"forObject":"us-gaap:CommonStockValue","labelType":"xbrl:label","value":"Common Stock, Value, Issued","language":"en-US"},{"forObject":"us-gaap:CompensationAndEmployeeBenefitPlansTextBlock","labelType":"xbrl:terseLabel","value":"Employee Benefit Plan","language":"en-US"},{"forObject":"us-gaap:CompensationAndEmployeeBenefitPlansTextBlock","labelType":"xbrl:label","value":"Compensation and Employee Benefit Plans [Text Block]","language":"en-US"},{"forObject":"us-gaap:CompensationAndRetirementDisclosureAbstract","labelType":"xbrl:label","value":"Retirement Benefits [Abstract]","language":"en-US"},{"forObject":"us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest","labelType":"xbrl:totalLabel","value":"Comprehensive loss","language":"en-US"},{"forObject":"us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest","labelType":"xbrl:label","value":"Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest","language":"en-US"},{"forObject":"us-gaap:ComprehensiveIncomeNoteTextBlock","labelType":"xbrl:terseLabel","value":"Accumulated Other Comprehensive Loss","language":"en-US"},{"forObject":"us-gaap:ComprehensiveIncomeNoteTextBlock","labelType":"xbrl:label","value":"Comprehensive Income (Loss) Note [Text Block]","language":"en-US"},{"forObject":"us-gaap:ComputerEquipmentMember","labelType":"xbrl:terseLabel","value":"Computer Equipment","language":"en-US"},{"forObject":"us-gaap:ComputerEquipmentMember","labelType":"xbrl:label","value":"Computer Equipment [Member]","language":"en-US"},{"forObject":"us-gaap:ComputerSoftwareIntangibleAssetMember","labelType":"xbrl:terseLabel","value":"Purchased Software","language":"en-US"},{"forObject":"us-gaap:ComputerSoftwareIntangibleAssetMember","labelType":"xbrl:label","value":"Computer Software, Intangible Asset [Member]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskBenchmarkDomain","labelType":"xbrl:terseLabel","value":"Concentration Risk Benchmark [Domain]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskBenchmarkDomain","labelType":"xbrl:label","value":"Concentration Risk Benchmark [Domain]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskByBenchmarkAxis","labelType":"xbrl:terseLabel","value":"Concentration Risk Benchmark [Axis]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskByBenchmarkAxis","labelType":"xbrl:label","value":"Concentration Risk Benchmark [Axis]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskByTypeAxis","labelType":"xbrl:terseLabel","value":"Concentration Risk Type [Axis]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskByTypeAxis","labelType":"xbrl:label","value":"Concentration Risk Type [Axis]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Credit Risk and Inventory Supplier Concentrations","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskDisclosureTextBlock","labelType":"xbrl:label","value":"Concentration Risk Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskLineItems","labelType":"xbrl:terseLabel","value":"Concentration Risk [Line Items]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskLineItems","labelType":"xbrl:label","value":"Concentration Risk [Line Items]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskPercentage1","labelType":"xbrl:terseLabel","value":"Concentration of credit risk, percentage","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskPercentage1","labelType":"xbrl:label","value":"Concentration Risk, Percentage","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskTable","labelType":"xbrl:terseLabel","value":"Concentration Risk [Table]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskTable","labelType":"xbrl:label","value":"Concentration Risk [Table]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskTypeDomain","labelType":"xbrl:terseLabel","value":"Concentration Risk Type [Domain]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskTypeDomain","labelType":"xbrl:label","value":"Concentration Risk Type [Domain]","language":"en-US"},{"forObject":"us-gaap:ConsolidationPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Basis of Presentation","language":"en-US"},{"forObject":"us-gaap:ConsolidationPolicyTextBlock","labelType":"xbrl:label","value":"Consolidation, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerAssetNet","labelType":"xbrl:terseLabel","value":"Contract asset","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerAssetNet","labelType":"xbrl:label","value":"Contract with Customer, Asset, Net","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiability","labelType":"xbrl:terseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiability","labelType":"xbrl:label","value":"Contract with Customer, Liability","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiability","labelType":"xbrl:totalLabel","value":"Total deferred revenue","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:terseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:label","value":"Contract with Customer, Liability, Current","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:netLabel","value":"Deferred revenue, current","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:verboseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityNoncurrent","labelType":"xbrl:terseLabel","value":"Deferred revenue, non-current","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityNoncurrent","labelType":"xbrl:label","value":"Contract with Customer, Liability, Noncurrent","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityRevenueRecognized","labelType":"xbrl:terseLabel","value":"Revenue recognized","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityRevenueRecognized","labelType":"xbrl:label","value":"Contract with Customer, Liability, Revenue Recognized","language":"en-US"},{"forObject":"us-gaap:CostOfGoodsAndServicesSold","labelType":"xbrl:terseLabel","value":"Cost of revenue","language":"en-US"},{"forObject":"us-gaap:CostOfGoodsAndServicesSold","labelType":"xbrl:label","value":"Cost of Goods and Services Sold","language":"en-US"},{"forObject":"us-gaap:CostOfRevenueAbstract","labelType":"xbrl:verboseLabel","value":"Cost of revenue:","language":"en-US"},{"forObject":"us-gaap:CostOfRevenueAbstract","labelType":"xbrl:label","value":"Cost of Revenue [Abstract]","language":"en-US"},{"forObject":"us-gaap:CostOfSalesPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Cost of Revenue","language":"en-US"},{"forObject":"us-gaap:CostOfSalesPolicyTextBlock","labelType":"xbrl:label","value":"Cost of Sales, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:CreditFacilityAxis","labelType":"xbrl:terseLabel","value":"Credit Facility [Axis]","language":"en-US"},{"forObject":"us-gaap:CreditFacilityAxis","labelType":"xbrl:label","value":"Credit Facility [Axis]","language":"en-US"},{"forObject":"us-gaap:CreditFacilityDomain","labelType":"xbrl:terseLabel","value":"Credit Facility [Domain]","language":"en-US"},{"forObject":"us-gaap:CreditFacilityDomain","labelType":"xbrl:label","value":"Credit Facility [Domain]","language":"en-US"},{"forObject":"us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption","labelType":"xbrl:terseLabel","value":"Cumulative effect of accounting change","language":"en-US"},{"forObject":"us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption","labelType":"xbrl:label","value":"Cumulative Effect of New Accounting Principle in Period of Adoption","language":"en-US"},{"forObject":"us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption","labelType":"xbrl:verboseLabel","value":"Cumulative effect of new accounting principle in period of adoption","language":"en-US"},{"forObject":"us-gaap:CurrentForeignTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"Foreign","language":"en-US"},{"forObject":"us-gaap:CurrentForeignTaxExpenseBenefit","labelType":"xbrl:label","value":"Current Foreign Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:CurrentIncomeTaxExpenseBenefit","labelType":"xbrl:totalLabel","value":"Current income tax","language":"en-US"},{"forObject":"us-gaap:CurrentIncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Current Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"State","language":"en-US"},{"forObject":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","labelType":"xbrl:label","value":"Current State and Local Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:CustomerConcentrationRiskMember","labelType":"xbrl:terseLabel","value":"Customer Concentration Risk","language":"en-US"},{"forObject":"us-gaap:CustomerConcentrationRiskMember","labelType":"xbrl:label","value":"Customer Concentration Risk [Member]","language":"en-US"},{"forObject":"us-gaap:DebtDisclosureTextBlock","labelType":"xbrl:verboseLabel","value":"Credit Agreements","language":"en-US"},{"forObject":"us-gaap:DebtDisclosureTextBlock","labelType":"xbrl:label","value":"Debt Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:DebtInstrumentInterestRateEffectivePercentage","labelType":"xbrl:terseLabel","value":"Interest rate","language":"en-US"},{"forObject":"us-gaap:DebtInstrumentInterestRateEffectivePercentage","labelType":"xbrl:label","value":"Debt Instrument, Interest Rate, Effective Percentage","language":"en-US"},{"forObject":"us-gaap:DebtWeightedAverageInterestRate","labelType":"xbrl:terseLabel","value":"Weighted average interest rate","language":"en-US"},{"forObject":"us-gaap:DebtWeightedAverageInterestRate","labelType":"xbrl:label","value":"Debt, Weighted Average Interest Rate","language":"en-US"},{"forObject":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"Deferred foreign income tax (benefit)","language":"en-US"},{"forObject":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Deferred Foreign Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:DeferredRevenueArrangementByTypeTable","labelType":"xbrl:terseLabel","value":"Deferred Revenue Arrangement, by Type [Table]","language":"en-US"},{"forObject":"us-gaap:DeferredRevenueArrangementByTypeTable","labelType":"xbrl:label","value":"Deferred Revenue Arrangement, by Type [Table]","language":"en-US"},{"forObject":"us-gaap:DeferredRevenueArrangementLineItems","labelType":"xbrl:terseLabel","value":"Deferred Revenue Arrangement [Line Items]","language":"en-US"},{"forObject":"us-gaap:DeferredRevenueArrangementLineItems","labelType":"xbrl:label","value":"Deferred Revenue Arrangement [Line Items]","language":"en-US"},{"forObject":"us-gaap:DeferredRevenueArrangementTypeAxis","labelType":"xbrl:terseLabel","value":"Deferred Revenue Arrangement Type [Axis]","language":"en-US"},{"forObject":"us-gaap:DeferredRevenueArrangementTypeAxis","labelType":"xbrl:label","value":"Deferred Revenue Arrangement Type [Axis]","language":"en-US"},{"forObject":"us-gaap:DeferredRevenueArrangementTypeDomain","labelType":"xbrl:terseLabel","value":"Deferred Revenue Arrangement Type [Domain]","language":"en-US"},{"forObject":"us-gaap:DeferredRevenueArrangementTypeDomain","labelType":"xbrl:label","value":"Deferred Revenue [Domain]","language":"en-US"},{"forObject":"us-gaap:DeferredRevenueByArrangementDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Deferred Revenue","language":"en-US"},{"forObject":"us-gaap:DeferredRevenueByArrangementDisclosureTextBlock","labelType":"xbrl:label","value":"Deferred Revenue, by Arrangement, Disclosure [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:DeferredRevenueNoncurrent","labelType":"xbrl:verboseLabel","value":"Long-term portion of deferred revenue","language":"en-US"},{"forObject":"us-gaap:DeferredRevenueNoncurrent","labelType":"xbrl:label","value":"Deferred Revenue, Noncurrent","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsDeferredIncome","labelType":"xbrl:terseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsDeferredIncome","labelType":"xbrl:label","value":"Deferred Tax Assets, Deferred Income","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets","labelType":"xbrl:terseLabel","value":"Intangible assets","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets","labelType":"xbrl:label","value":"Deferred Tax Assets, Goodwill and Intangible Assets","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGross","labelType":"xbrl:totalLabel","value":"Gross deferred tax assets","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGross","labelType":"xbrl:label","value":"Deferred Tax Assets, Gross","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGrossAbstract","labelType":"xbrl:terseLabel","value":"Deferred tax assets:","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGrossAbstract","labelType":"xbrl:label","value":"Deferred Tax Assets, Gross [Abstract]","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsNet","labelType":"xbrl:totalLabel","value":"Net deferred tax assets","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsNet","labelType":"xbrl:label","value":"Deferred Tax Assets, Net of Valuation Allowance","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","labelType":"xbrl:terseLabel","value":"Net operating loss carryforwards","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","labelType":"xbrl:label","value":"Deferred Tax Assets, Operating Loss Carryforwards","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsOther","labelType":"xbrl:terseLabel","value":"Other","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsOther","labelType":"xbrl:label","value":"Deferred Tax Assets, Other","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment","labelType":"xbrl:terseLabel","value":"Depreciation and amortization","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment","labelType":"xbrl:label","value":"Deferred Tax Assets, Property, Plant and Equipment","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","labelType":"xbrl:terseLabel","value":"Stock-based compensation","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","labelType":"xbrl:label","value":"Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","labelType":"xbrl:terseLabel","value":"Accruals and reserves","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","labelType":"xbrl:label","value":"Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsValuationAllowance","labelType":"xbrl:negatedTerseLabel","value":"Valuation allowance","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsValuationAllowance","labelType":"xbrl:label","value":"Deferred Tax Assets, Valuation Allowance","language":"en-US"},{"forObject":"us-gaap:DefinedContributionPlanCostRecognized","labelType":"xbrl:terseLabel","value":"Company matching contributions, 401(K) Plan","language":"en-US"},{"forObject":"us-gaap:DefinedContributionPlanCostRecognized","labelType":"xbrl:label","value":"Defined Contribution Plan, Cost","language":"en-US"},{"forObject":"us-gaap:Depreciation","labelType":"xbrl:verboseLabel","value":"Depreciation and amortization","language":"en-US"},{"forObject":"us-gaap:Depreciation","labelType":"xbrl:label","value":"Depreciation","language":"en-US"},{"forObject":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member","labelType":"xbrl:terseLabel","value":"Difference between Revenue Guidance in Effect before and after Topic 606","language":"en-US"},{"forObject":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member","labelType":"xbrl:label","value":"Difference between Revenue Guidance in Effect before and after Topic 606 [Member]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueLineItems","labelType":"xbrl:terseLabel","value":"Disaggregation of Revenue [Line Items]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueLineItems","labelType":"xbrl:label","value":"Disaggregation of Revenue [Line Items]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTable","labelType":"xbrl:terseLabel","value":"Disaggregation of Revenue [Table]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTable","labelType":"xbrl:label","value":"Disaggregation of Revenue [Table]","language":"en-US"},{"forObject":"us-gaap:DiscontinuedOperationsAndDisposalGroupsAbstract","labelType":"xbrl:label","value":"Discontinued Operations and Disposal Groups [Abstract]","language":"en-US"},{"forObject":"us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration","labelType":"xbrl:terseLabel","value":"Disposal group, consideration","language":"en-US"},{"forObject":"us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration","labelType":"xbrl:label","value":"Disposal Group, Including Discontinued Operation, Consideration","language":"en-US"},{"forObject":"us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue","labelType":"xbrl:terseLabel","value":"Disposal group, deferred revenue","language":"en-US"},{"forObject":"us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue","labelType":"xbrl:label","value":"Disposal Group, Including Discontinued Operation, Deferred Revenue","language":"en-US"},{"forObject":"us-gaap:DisposalGroupIncludingDiscontinuedOperationInventory1","labelType":"xbrl:terseLabel","value":"Inventory transferred","language":"en-US"},{"forObject":"us-gaap:DisposalGroupIncludingDiscontinuedOperationInventory1","labelType":"xbrl:label","value":"Disposal Group, Including Discontinued Operation, Inventory","language":"en-US"},{"forObject":"us-gaap:DisposalGroupNotDiscontinuedOperationGainLossOnDisposal","labelType":"xbrl:terseLabel","value":"Gain on disposal","language":"en-US"},{"forObject":"us-gaap:DisposalGroupNotDiscontinuedOperationGainLossOnDisposal","labelType":"xbrl:label","value":"Disposal Group, Not Discontinued Operation, Gain (Loss) on Disposal","language":"en-US"},{"forObject":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Product Line Divestiture","language":"en-US"},{"forObject":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock","labelType":"xbrl:label","value":"Disposal Groups, Including Discontinued Operations, Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsNameDomain","labelType":"xbrl:terseLabel","value":"Disposal Group Name [Domain]","language":"en-US"},{"forObject":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsNameDomain","labelType":"xbrl:label","value":"Disposal Group Name [Domain]","language":"en-US"},{"forObject":"us-gaap:DomesticCountryMember","labelType":"xbrl:terseLabel","value":"U.S. Federal","language":"en-US"},{"forObject":"us-gaap:DomesticCountryMember","labelType":"xbrl:label","value":"Domestic Tax Authority [Member]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareAbstract","labelType":"xbrl:label","value":"Earnings Per Share [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicAbstract","labelType":"xbrl:verboseLabel","value":"Net loss per common share:","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicAbstract","labelType":"xbrl:label","value":"Earnings Per Share, Basic [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicAndDiluted","labelType":"xbrl:verboseLabel","value":"Basic and diluted (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicAndDiluted","labelType":"xbrl:label","value":"Earnings Per Share, Basic and Diluted","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicAndDiluted","labelType":"xbrl:terseLabel","value":"Net income (loss) per common share, basic and diluted (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicAndDilutedAbstract","labelType":"xbrl:verboseLabel","value":"Computation of basic and diluted net loss per share","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicAndDilutedAbstract","labelType":"xbrl:label","value":"Earnings Per Share, Basic and Diluted [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDilutedOtherDisclosuresAbstract","labelType":"xbrl:verboseLabel","value":"Weighted-average number of shares used to compute net loss per common share:","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDilutedOtherDisclosuresAbstract","labelType":"xbrl:label","value":"Earnings Per Share, Diluted, Other Disclosures [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareTextBlock","labelType":"xbrl:verboseLabel","value":"Net Loss Per Common Share","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareTextBlock","labelType":"xbrl:label","value":"Earnings Per Share [Text Block]","language":"en-US"},{"forObject":"us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents","labelType":"xbrl:verboseLabel","value":"Effect of exchange rate changes on cash, cash equivalents and restricted cash","language":"en-US"},{"forObject":"us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents","labelType":"xbrl:label","value":"Effect of Exchange Rate on Cash and Cash Equivalents","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","labelType":"xbrl:totalLabel","value":"Effective tax rate","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","labelType":"xbrl:terseLabel","value":"Federal statutory rate","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","labelType":"xbrl:terseLabel","value":"Valuation allowance","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","labelType":"xbrl:terseLabel","value":"Foreign operations","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther","labelType":"xbrl:terseLabel","value":"Other permanent items","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","labelType":"xbrl:terseLabel","value":"Non-deductible stock compensation","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Compensation Cost, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","labelType":"xbrl:terseLabel","value":"Tax true-up","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Prior Year Income Taxes, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","labelType":"xbrl:terseLabel","value":"State statutory rate","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch","labelType":"xbrl:negatedTerseLabel","value":"R&D tax credits","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent","language":"en-US"},{"forObject":"us-gaap:EmployeeRelatedLiabilitiesCurrent","labelType":"xbrl:terseLabel","value":"Accrued compensation and related benefits","language":"en-US"},{"forObject":"us-gaap:EmployeeRelatedLiabilitiesCurrent","labelType":"xbrl:label","value":"Employee-related Liabilities, Current","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","labelType":"xbrl:verboseLabel","value":"Unrecognized stock-based compensation expense","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","labelType":"xbrl:label","value":"Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","labelType":"xbrl:verboseLabel","value":"Weighted-average amortization period","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","labelType":"xbrl:label","value":"Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition","language":"en-US"},{"forObject":"us-gaap:EmployeeSeveranceMember","labelType":"xbrl:terseLabel","value":"Severance and Related Benefits","language":"en-US"},{"forObject":"us-gaap:EmployeeSeveranceMember","labelType":"xbrl:label","value":"Employee Severance [Member]","language":"en-US"},{"forObject":"us-gaap:EmployeeStockMember","labelType":"xbrl:terseLabel","value":"ESPP","language":"en-US"},{"forObject":"us-gaap:EmployeeStockMember","labelType":"xbrl:label","value":"Employee Stock [Member]","language":"en-US"},{"forObject":"us-gaap:EmployeeStockOptionMember","labelType":"xbrl:terseLabel","value":"Stock Options","language":"en-US"},{"forObject":"us-gaap:EmployeeStockOptionMember","labelType":"xbrl:label","value":"Employee Stock Option [Member]","language":"en-US"},{"forObject":"us-gaap:EquipmentMember","labelType":"xbrl:verboseLabel","value":"Test equipment","language":"en-US"},{"forObject":"us-gaap:EquipmentMember","labelType":"xbrl:label","value":"Equipment [Member]","language":"en-US"},{"forObject":"us-gaap:EquipmentMember","labelType":"xbrl:terseLabel","value":"Test Equipment","language":"en-US"},{"forObject":"us-gaap:EquityAbstract","labelType":"xbrl:label","value":"Equity [Abstract]","language":"en-US"},{"forObject":"us-gaap:EquityComponentDomain","labelType":"xbrl:terseLabel","value":"Equity Component [Domain]","language":"en-US"},{"forObject":"us-gaap:EquityComponentDomain","labelType":"xbrl:label","value":"Equity Component [Domain]","language":"en-US"},{"forObject":"us-gaap:ExecutiveOfficerMember","labelType":"xbrl:terseLabel","value":"Executive Officer","language":"en-US"},{"forObject":"us-gaap:ExecutiveOfficerMember","labelType":"xbrl:label","value":"Executive Officer [Member]","language":"en-US"},{"forObject":"us-gaap:FacilityClosingMember","labelType":"xbrl:terseLabel","value":"Facilities","language":"en-US"},{"forObject":"us-gaap:FacilityClosingMember","labelType":"xbrl:label","value":"Facility Closing [Member]","language":"en-US"},{"forObject":"us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems","labelType":"xbrl:terseLabel","value":"Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]","language":"en-US"},{"forObject":"us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems","labelType":"xbrl:label","value":"Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]","language":"en-US"},{"forObject":"us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable","labelType":"xbrl:terseLabel","value":"Fair Value Measurements, Recurring and Nonrecurring [Table]","language":"en-US"},{"forObject":"us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable","labelType":"xbrl:label","value":"Fair Value Measurements, Recurring and Nonrecurring [Table]","language":"en-US"},{"forObject":"us-gaap:FairValueByFairValueHierarchyLevelAxis","labelType":"xbrl:terseLabel","value":"Fair Value Hierarchy and NAV [Axis]","language":"en-US"},{"forObject":"us-gaap:FairValueByFairValueHierarchyLevelAxis","labelType":"xbrl:label","value":"Fair Value Hierarchy and NAV [Axis]","language":"en-US"},{"forObject":"us-gaap:FairValueDisclosuresAbstract","labelType":"xbrl:label","value":"Fair Value Disclosures [Abstract]","language":"en-US"},{"forObject":"us-gaap:FairValueDisclosuresTextBlock","labelType":"xbrl:verboseLabel","value":"Fair Value Measurements","language":"en-US"},{"forObject":"us-gaap:FairValueDisclosuresTextBlock","labelType":"xbrl:label","value":"Fair Value Disclosures [Text Block]","language":"en-US"},{"forObject":"us-gaap:FairValueInputsLevel1Member","labelType":"xbrl:verboseLabel","value":"Level 1","language":"en-US"},{"forObject":"us-gaap:FairValueInputsLevel1Member","labelType":"xbrl:label","value":"Fair Value, Inputs, Level 1 [Member]","language":"en-US"},{"forObject":"us-gaap:FairValueMeasurementsFairValueHierarchyDomain","labelType":"xbrl:terseLabel","value":"Fair Value, Measurements, Fair Value Hierarchy [Domain]","language":"en-US"},{"forObject":"us-gaap:FairValueMeasurementsFairValueHierarchyDomain","labelType":"xbrl:label","value":"Fair Value Hierarchy and NAV [Domain]","language":"en-US"},{"forObject":"us-gaap:FairValueOfFinancialInstrumentsPolicy","labelType":"xbrl:terseLabel","value":"Fair Value of Financial Instruments","language":"en-US"},{"forObject":"us-gaap:FairValueOfFinancialInstrumentsPolicy","labelType":"xbrl:label","value":"Fair Value of Financial Instruments, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:ForeignFinancialInstitutionsActualDeposits","labelType":"xbrl:terseLabel","value":"Cash held by foreign subsidiaries","language":"en-US"},{"forObject":"us-gaap:ForeignFinancialInstitutionsActualDeposits","labelType":"xbrl:label","value":"Foreign Financial Institutions, Actual Deposits","language":"en-US"},{"forObject":"us-gaap:FurnitureAndFixturesMember","labelType":"xbrl:verboseLabel","value":"Furniture and fixtures","language":"en-US"},{"forObject":"us-gaap:FurnitureAndFixturesMember","labelType":"xbrl:label","value":"Furniture and Fixtures [Member]","language":"en-US"},{"forObject":"us-gaap:FurnitureAndFixturesMember","labelType":"xbrl:terseLabel","value":"Furniture and Fixtures","language":"en-US"},{"forObject":"us-gaap:GainLossOnDispositionOfAssets","labelType":"xbrl:negatedTerseLabel","value":"Loss on retirement of property and equipment","language":"en-US"},{"forObject":"us-gaap:GainLossOnDispositionOfAssets","labelType":"xbrl:label","value":"Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property","language":"en-US"},{"forObject":"us-gaap:GainLossOnDispositionOfAssets1","labelType":"xbrl:negatedTerseLabel","value":"Gain on sale of product line","language":"en-US"},{"forObject":"us-gaap:GainLossOnDispositionOfAssets1","labelType":"xbrl:label","value":"Gain (Loss) on Disposition of Assets","language":"en-US"},{"forObject":"us-gaap:GainLossRelatedToLitigationSettlement","labelType":"xbrl:negatedTerseLabel","value":"Litigation settlement gain","language":"en-US"},{"forObject":"us-gaap:GainLossRelatedToLitigationSettlement","labelType":"xbrl:label","value":"Gain (Loss) Related to Litigation Settlement","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpense","labelType":"xbrl:verboseLabel","value":"General and administrative","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpense","labelType":"xbrl:label","value":"General and Administrative Expense","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpenseMember","labelType":"xbrl:terseLabel","value":"General and administrative","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpenseMember","labelType":"xbrl:label","value":"General and Administrative Expense [Member]","language":"en-US"},{"forObject":"us-gaap:Goodwill","labelType":"xbrl:verboseLabel","value":"Goodwill","language":"en-US"},{"forObject":"us-gaap:Goodwill","labelType":"xbrl:label","value":"Goodwill","language":"en-US"},{"forObject":"us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy","labelType":"xbrl:terseLabel","value":"Goodwill","language":"en-US"},{"forObject":"us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy","labelType":"xbrl:label","value":"Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:GoodwillImpairmentLoss","labelType":"xbrl:terseLabel","value":"Goodwill, impairment loss","language":"en-US"},{"forObject":"us-gaap:GoodwillImpairmentLoss","labelType":"xbrl:label","value":"Goodwill, Impairment Loss","language":"en-US"},{"forObject":"us-gaap:GrossProfit","labelType":"xbrl:terseLabel","value":"Gross profit","language":"en-US"},{"forObject":"us-gaap:GrossProfit","labelType":"xbrl:label","value":"Gross Profit","language":"en-US"},{"forObject":"us-gaap:GrossProfit","labelType":"xbrl:totalLabel","value":"Gross profit","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","labelType":"xbrl:terseLabel","value":"Domestic","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","labelType":"xbrl:label","value":"Income (Loss) from Continuing Operations before Income Taxes, Domestic","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","labelType":"xbrl:terseLabel","value":"Foreign","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","labelType":"xbrl:label","value":"Income (Loss) from Continuing Operations before Income Taxes, Foreign","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","labelType":"xbrl:totalLabel","value":"Loss before provision for income taxes","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","labelType":"xbrl:label","value":"Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest","language":"en-US"},{"forObject":"us-gaap:IncomeStatementAbstract","labelType":"xbrl:label","value":"Income Statement [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis","labelType":"xbrl:terseLabel","value":"Disposal Group Name [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis","labelType":"xbrl:label","value":"Disposal Group Name [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems","labelType":"xbrl:terseLabel","value":"Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems","labelType":"xbrl:label","value":"Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable","labelType":"xbrl:terseLabel","value":"Disposal Groups, Including Discontinued Operations [Table]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable","labelType":"xbrl:label","value":"Disposal Groups, Including Discontinued Operations [Table]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationAxis","labelType":"xbrl:terseLabel","value":"Income Statement Location [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationAxis","labelType":"xbrl:label","value":"Income Statement Location [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationDomain","labelType":"xbrl:terseLabel","value":"Income Statement Location [Domain]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationDomain","labelType":"xbrl:label","value":"Income Statement Location [Domain]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxAuthorityAxis","labelType":"xbrl:terseLabel","value":"Income Tax Authority [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxAuthorityAxis","labelType":"xbrl:label","value":"Income Tax Authority [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxAuthorityDomain","labelType":"xbrl:terseLabel","value":"Income Tax Authority [Domain]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxAuthorityDomain","labelType":"xbrl:label","value":"Income Tax Authority [Domain]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxDisclosureAbstract","labelType":"xbrl:label","value":"Income Tax Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxDisclosureTextBlock","labelType":"xbrl:verboseLabel","value":"Income Taxes","language":"en-US"},{"forObject":"us-gaap:IncomeTaxDisclosureTextBlock","labelType":"xbrl:label","value":"Income Tax Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:totalLabel","value":"Provision for income taxes","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:verboseLabel","value":"Provision for income taxes","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Income Taxes","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPolicyTextBlock","labelType":"xbrl:label","value":"Income Tax, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxesPaidNet","labelType":"xbrl:terseLabel","value":"Income taxes paid","language":"en-US"},{"forObject":"us-gaap:IncomeTaxesPaidNet","labelType":"xbrl:label","value":"Income Taxes Paid, Net","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsPayable","labelType":"xbrl:verboseLabel","value":"Accounts payable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsPayable","labelType":"xbrl:label","value":"Increase (Decrease) in Accounts Payable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsReceivable","labelType":"xbrl:negatedLabel","value":"Accounts receivable, net","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsReceivable","labelType":"xbrl:label","value":"Increase (Decrease) in Accounts Receivable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccruedLiabilities","labelType":"xbrl:verboseLabel","value":"Accrued liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccruedLiabilities","labelType":"xbrl:label","value":"Increase (Decrease) in Accrued Liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInDeferredRevenue","labelType":"xbrl:verboseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInDeferredRevenue","labelType":"xbrl:label","value":"Increase (Decrease) in Deferred Revenue","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInInventories","labelType":"xbrl:negatedLabel","value":"Inventory","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInInventories","labelType":"xbrl:label","value":"Increase (Decrease) in Inventories","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingCapitalAbstract","labelType":"xbrl:verboseLabel","value":"Changes in operating assets and liabilities:","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingCapitalAbstract","labelType":"xbrl:label","value":"Increase (Decrease) in Operating Capital [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","labelType":"xbrl:verboseLabel","value":"Other long-term liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","labelType":"xbrl:label","value":"Increase (Decrease) in Other Noncurrent Liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","labelType":"xbrl:negatedLabel","value":"Prepaid expenses and other assets","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","labelType":"xbrl:label","value":"Increase (Decrease) in Prepaid Expense and Other Assets","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","labelType":"xbrl:terseLabel","value":"Increase (Decrease) in Stockholders' Equity [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","labelType":"xbrl:label","value":"Increase (Decrease) in Stockholders' Equity [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis","labelType":"xbrl:terseLabel","value":"Initial Application Period Cumulative Effect Transition [Axis]","language":"en-US"},{"forObject":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis","labelType":"xbrl:label","value":"Initial Application Period Cumulative Effect Transition [Axis]","language":"en-US"},{"forObject":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain","labelType":"xbrl:terseLabel","value":"Initial Application Period Cumulative Effect Transition [Domain]","language":"en-US"},{"forObject":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain","labelType":"xbrl:label","value":"Initial Application Period Cumulative Effect Transition [Domain]","language":"en-US"},{"forObject":"us-gaap:InterestPaidNet","labelType":"xbrl:terseLabel","value":"Interest paid","language":"en-US"},{"forObject":"us-gaap:InterestPaidNet","labelType":"xbrl:label","value":"Interest Paid, Excluding Capitalized Interest, Operating Activities","language":"en-US"},{"forObject":"us-gaap:InventoryFinishedGoodsNetOfReserves","labelType":"xbrl:verboseLabel","value":"Finished goods","language":"en-US"},{"forObject":"us-gaap:InventoryFinishedGoodsNetOfReserves","labelType":"xbrl:label","value":"Inventory, Finished Goods, Net of Reserves","language":"en-US"},{"forObject":"us-gaap:InventoryNet","labelType":"xbrl:totalLabel","value":"Total inventory","language":"en-US"},{"forObject":"us-gaap:InventoryNet","labelType":"xbrl:label","value":"Inventory, Net","language":"en-US"},{"forObject":"us-gaap:InventoryNet","labelType":"xbrl:verboseLabel","value":"Inventory","language":"en-US"},{"forObject":"us-gaap:InventoryNetAbstract","labelType":"xbrl:verboseLabel","value":"Summary of inventory, net","language":"en-US"},{"forObject":"us-gaap:InventoryNetAbstract","labelType":"xbrl:label","value":"Inventory, Net [Abstract]","language":"en-US"},{"forObject":"us-gaap:InventoryPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Inventory Valuation","language":"en-US"},{"forObject":"us-gaap:InventoryPolicyTextBlock","labelType":"xbrl:label","value":"Inventory, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:InventoryRawMaterialsNetOfReserves","labelType":"xbrl:verboseLabel","value":"Raw materials","language":"en-US"},{"forObject":"us-gaap:InventoryRawMaterialsNetOfReserves","labelType":"xbrl:label","value":"Inventory, Raw Materials, Net of Reserves","language":"en-US"},{"forObject":"us-gaap:InvestmentIncomeNet","labelType":"xbrl:verboseLabel","value":"Interest income (expense), net","language":"en-US"},{"forObject":"us-gaap:InvestmentIncomeNet","labelType":"xbrl:label","value":"Investment Income, Net","language":"en-US"},{"forObject":"us-gaap:LeaseAndRentalExpense","labelType":"xbrl:terseLabel","value":"Rent expense","language":"en-US"},{"forObject":"us-gaap:LeaseAndRentalExpense","labelType":"xbrl:label","value":"Operating Leases, Rent Expense","language":"en-US"},{"forObject":"us-gaap:LeaseholdImprovementsMember","labelType":"xbrl:verboseLabel","value":"Leasehold improvements","language":"en-US"},{"forObject":"us-gaap:LeaseholdImprovementsMember","labelType":"xbrl:label","value":"Leasehold Improvements [Member]","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseTermOfContract","labelType":"xbrl:terseLabel","value":"Term of contract","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseTermOfContract","labelType":"xbrl:label","value":"Lessee, Operating Lease, Term of Contract","language":"en-US"},{"forObject":"us-gaap:LetterOfCreditMember","labelType":"xbrl:terseLabel","value":"Letter of Credit","language":"en-US"},{"forObject":"us-gaap:LetterOfCreditMember","labelType":"xbrl:label","value":"Letter of Credit [Member]","language":"en-US"},{"forObject":"us-gaap:Liabilities","labelType":"xbrl:terseLabel","value":"Total liabilities","language":"en-US"},{"forObject":"us-gaap:Liabilities","labelType":"xbrl:label","value":"Liabilities","language":"en-US"},{"forObject":"us-gaap:Liabilities","labelType":"xbrl:totalLabel","value":"Total liabilities","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquity","labelType":"xbrl:terseLabel","value":"Total liabilities and stockholders' equity","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquity","labelType":"xbrl:label","value":"Liabilities and Equity","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquity","labelType":"xbrl:totalLabel","value":"Total liabilities and stockholders' equity","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","labelType":"xbrl:verboseLabel","value":"LIABILITIES AND STOCKHOLDERS\u2019 EQUITY","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","labelType":"xbrl:label","value":"Liabilities and Equity [Abstract]","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrent","labelType":"xbrl:totalLabel","value":"Total current liabilities","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrent","labelType":"xbrl:label","value":"Liabilities, Current","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrentAbstract","labelType":"xbrl:verboseLabel","value":"Current liabilities:","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrentAbstract","labelType":"xbrl:label","value":"Liabilities, Current [Abstract]","language":"en-US"},{"forObject":"us-gaap:LineOfCreditFacilityAbstract","labelType":"xbrl:label","value":"Line of Credit Facility [Abstract]","language":"en-US"},{"forObject":"us-gaap:LineOfCreditFacilityAxis","labelType":"xbrl:terseLabel","value":"Lender Name [Axis]","language":"en-US"},{"forObject":"us-gaap:LineOfCreditFacilityAxis","labelType":"xbrl:label","value":"Lender Name [Axis]","language":"en-US"},{"forObject":"us-gaap:LineOfCreditFacilityLenderDomain","labelType":"xbrl:terseLabel","value":"Line of Credit Facility, Lender [Domain]","language":"en-US"},{"forObject":"us-gaap:LineOfCreditFacilityLenderDomain","labelType":"xbrl:label","value":"Line of Credit Facility, Lender [Domain]","language":"en-US"},{"forObject":"us-gaap:LineOfCreditFacilityLineItems","labelType":"xbrl:terseLabel","value":"Line of Credit Facility [Line Items]","language":"en-US"},{"forObject":"us-gaap:LineOfCreditFacilityLineItems","labelType":"xbrl:label","value":"Line of Credit Facility [Line Items]","language":"en-US"},{"forObject":"us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity","labelType":"xbrl:verboseLabel","value":"Revolving credit facility, maximum capacity","language":"en-US"},{"forObject":"us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity","labelType":"xbrl:label","value":"Line of Credit Facility, Maximum Borrowing Capacity","language":"en-US"},{"forObject":"us-gaap:LineOfCreditFacilityTable","labelType":"xbrl:terseLabel","value":"Line of Credit Facility [Table]","language":"en-US"},{"forObject":"us-gaap:LineOfCreditFacilityTable","labelType":"xbrl:label","value":"Line of Credit Facility [Table]","language":"en-US"},{"forObject":"us-gaap:LinesOfCreditCurrent","labelType":"xbrl:terseLabel","value":"Line of credit","language":"en-US"},{"forObject":"us-gaap:LinesOfCreditCurrent","labelType":"xbrl:label","value":"Line of Credit, Current","language":"en-US"},{"forObject":"us-gaap:LossContingenciesLineItems","labelType":"xbrl:terseLabel","value":"Loss Contingencies [Line Items]","language":"en-US"},{"forObject":"us-gaap:LossContingenciesLineItems","labelType":"xbrl:label","value":"Loss Contingencies [Line Items]","language":"en-US"},{"forObject":"us-gaap:LossContingenciesTable","labelType":"xbrl:terseLabel","value":"Schedule of Commitments and Contingencies","language":"en-US"},{"forObject":"us-gaap:LossContingenciesTable","labelType":"xbrl:label","value":"Loss Contingencies [Table]","language":"en-US"},{"forObject":"us-gaap:MiddleEastMember","labelType":"xbrl:terseLabel","value":"Middle East","language":"en-US"},{"forObject":"us-gaap:MiddleEastMember","labelType":"xbrl:label","value":"Middle East [Member]","language":"en-US"},{"forObject":"us-gaap:MoneyMarketFundsMember","labelType":"xbrl:terseLabel","value":"Money market funds","language":"en-US"},{"forObject":"us-gaap:MoneyMarketFundsMember","labelType":"xbrl:label","value":"Money Market Funds [Member]","language":"en-US"},{"forObject":"us-gaap:MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward","labelType":"xbrl:verboseLabel","value":"Product warranty activities [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward","labelType":"xbrl:label","value":"Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:MovementInValuationAllowancesAndReservesRollForward","labelType":"xbrl:terseLabel","value":"SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:MovementInValuationAllowancesAndReservesRollForward","labelType":"xbrl:label","value":"SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivities","labelType":"xbrl:totalLabel","value":"Net cash provided by (used in) financing activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivities","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Financing Activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Financing activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Financing Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivities","labelType":"xbrl:totalLabel","value":"Net cash provided by (used in) investing activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivities","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Investing Activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Investing activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Investing Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivities","labelType":"xbrl:totalLabel","value":"Net cash provided by (used in) operating activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivities","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Operating Activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Operating activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Operating Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAbstract","labelType":"xbrl:verboseLabel","value":"Numerator:","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAbstract","labelType":"xbrl:label","value":"Net Income (Loss) Attributable to Parent [Abstract]","language":"en-US"},{"forObject":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","labelType":"xbrl:verboseLabel","value":"Recent Accounting Pronouncements","language":"en-US"},{"forObject":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","labelType":"xbrl:label","value":"New Accounting Pronouncements, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","labelType":"xbrl:verboseLabel","value":"Non-cash investing activities:","language":"en-US"},{"forObject":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","labelType":"xbrl:label","value":"Noncash Investing and Financing Items [Abstract]","language":"en-US"},{"forObject":"us-gaap:NonoperatingIncomeExpense","labelType":"xbrl:totalLabel","value":"Total interest and other income (expense), net","language":"en-US"},{"forObject":"us-gaap:NonoperatingIncomeExpense","labelType":"xbrl:label","value":"Nonoperating Income (Expense)","language":"en-US"},{"forObject":"us-gaap:NonoperatingIncomeExpenseAbstract","labelType":"xbrl:verboseLabel","value":"Interest and other income (expense), net:","language":"en-US"},{"forObject":"us-gaap:NonoperatingIncomeExpenseAbstract","labelType":"xbrl:label","value":"Nonoperating Income (Expense) [Abstract]","language":"en-US"},{"forObject":"us-gaap:OperatingExpenses","labelType":"xbrl:totalLabel","value":"Total operating expenses","language":"en-US"},{"forObject":"us-gaap:OperatingExpenses","labelType":"xbrl:label","value":"Operating Expenses","language":"en-US"},{"forObject":"us-gaap:OperatingExpensesAbstract","labelType":"xbrl:verboseLabel","value":"Operating expenses:","language":"en-US"},{"forObject":"us-gaap:OperatingExpensesAbstract","labelType":"xbrl:label","value":"Operating Expenses [Abstract]","language":"en-US"},{"forObject":"us-gaap:OperatingIncomeLoss","labelType":"xbrl:totalLabel","value":"Loss from operations","language":"en-US"},{"forObject":"us-gaap:OperatingIncomeLoss","labelType":"xbrl:label","value":"Operating Income (Loss)","language":"en-US"},{"forObject":"us-gaap:OperatingIncomeLoss","labelType":"xbrl:terseLabel","value":"Operating income (loss)","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiability","labelType":"xbrl:terseLabel","value":"Operating lease, liability","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiability","labelType":"xbrl:label","value":"Operating Lease, Liability","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseRightOfUseAsset","labelType":"xbrl:terseLabel","value":"Operating lease, right-of-use asset","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseRightOfUseAsset","labelType":"xbrl:label","value":"Operating Lease, Right-of-Use Asset","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","labelType":"xbrl:totalLabel","value":"Total","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","labelType":"xbrl:label","value":"Operating Leases, Future Minimum Payments Due","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","labelType":"xbrl:terseLabel","value":"Future minimum payments due","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent","labelType":"xbrl:terseLabel","value":"2019","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent","labelType":"xbrl:label","value":"Operating Leases, Future Minimum Payments Due, Next Twelve Months","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears","labelType":"xbrl:terseLabel","value":"2023","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears","labelType":"xbrl:label","value":"Operating Leases, Future Minimum Payments, Due in Five Years","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears","labelType":"xbrl:terseLabel","value":"2022","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears","labelType":"xbrl:label","value":"Operating Leases, Future Minimum Payments, Due in Four Years","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears","labelType":"xbrl:terseLabel","value":"2021","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears","labelType":"xbrl:label","value":"Operating Leases, Future Minimum Payments, Due in Three Years","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears","labelType":"xbrl:terseLabel","value":"2020","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears","labelType":"xbrl:label","value":"Operating Leases, Future Minimum Payments, Due in Two Years","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter","labelType":"xbrl:terseLabel","value":"Thereafter","language":"en-US"},{"forObject":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter","labelType":"xbrl:label","value":"Operating Leases, Future Minimum Payments, Due Thereafter","language":"en-US"},{"forObject":"us-gaap:OperatingLossCarryforwards","labelType":"xbrl:terseLabel","value":"Operating loss carryforward","language":"en-US"},{"forObject":"us-gaap:OperatingLossCarryforwards","labelType":"xbrl:label","value":"Operating Loss Carryforwards","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","labelType":"xbrl:label","value":"Organization, Consolidation and Presentation of Financial Statements [Abstract]","language":"en-US"},{"forObject":"us-gaap:OtherAccruedLiabilitiesCurrent","labelType":"xbrl:verboseLabel","value":"Accrued other","language":"en-US"},{"forObject":"us-gaap:OtherAccruedLiabilitiesCurrent","labelType":"xbrl:label","value":"Other Accrued Liabilities, Current","language":"en-US"},{"forObject":"us-gaap:OtherAssetsNoncurrent","labelType":"xbrl:verboseLabel","value":"Other assets","language":"en-US"},{"forObject":"us-gaap:OtherAssetsNoncurrent","labelType":"xbrl:label","value":"Other Assets, Noncurrent","language":"en-US"},{"forObject":"us-gaap:OtherCommitment","labelType":"xbrl:terseLabel","value":"Other commitment","language":"en-US"},{"forObject":"us-gaap:OtherCommitment","labelType":"xbrl:label","value":"Other Commitment","language":"en-US"},{"forObject":"us-gaap:OtherCommitmentsAxis","labelType":"xbrl:terseLabel","value":"Other Commitments [Axis]","language":"en-US"},{"forObject":"us-gaap:OtherCommitmentsAxis","labelType":"xbrl:label","value":"Other Commitments [Axis]","language":"en-US"},{"forObject":"us-gaap:OtherCommitmentsDomain","labelType":"xbrl:terseLabel","value":"Other Commitments [Domain]","language":"en-US"},{"forObject":"us-gaap:OtherCommitmentsDomain","labelType":"xbrl:label","value":"Other Commitments [Domain]","language":"en-US"},{"forObject":"us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax","labelType":"xbrl:verboseLabel","value":"Foreign currency translation adjustments, net","language":"en-US"},{"forObject":"us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax","labelType":"xbrl:label","value":"Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax","language":"en-US"},{"forObject":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","labelType":"xbrl:totalLabel","value":"Total other comprehensive income (loss), net of tax","language":"en-US"},{"forObject":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","labelType":"xbrl:label","value":"Other Comprehensive Income (Loss), Net of Tax","language":"en-US"},{"forObject":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","labelType":"xbrl:terseLabel","value":"Other comprehensive income (loss)","language":"en-US"},{"forObject":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract","labelType":"xbrl:verboseLabel","value":"Other comprehensive income (loss), net of tax:","language":"en-US"},{"forObject":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract","labelType":"xbrl:label","value":"Other Comprehensive Income (Loss), Net of Tax [Abstract]","language":"en-US"},{"forObject":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent","labelType":"xbrl:terseLabel","value":"Other comprehensive income","language":"en-US"},{"forObject":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent","labelType":"xbrl:label","value":"Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent","language":"en-US"},{"forObject":"us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax","labelType":"xbrl:terseLabel","value":"Unrealized gain on available-for-sale marketable securities, net","language":"en-US"},{"forObject":"us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax","labelType":"xbrl:label","value":"Other Comprehensive Income (Loss), Securities, Available-for-Sale, Unrealized Holding Gain (Loss) Arising During Period, after Tax","language":"en-US"},{"forObject":"us-gaap:OtherLiabilitiesNoncurrent","labelType":"xbrl:verboseLabel","value":"Other long-term liabilities","language":"en-US"},{"forObject":"us-gaap:OtherLiabilitiesNoncurrent","labelType":"xbrl:label","value":"Other Liabilities, Noncurrent","language":"en-US"},{"forObject":"us-gaap:OtherNonoperatingIncomeExpense","labelType":"xbrl:verboseLabel","value":"Other income (expense), net","language":"en-US"},{"forObject":"us-gaap:OtherNonoperatingIncomeExpense","labelType":"xbrl:label","value":"Other Nonoperating Income (Expense)","language":"en-US"},{"forObject":"us-gaap:PaymentsForRepurchaseOfCommonStock","labelType":"xbrl:negatedTerseLabel","value":"Payments for repurchases of common stock","language":"en-US"},{"forObject":"us-gaap:PaymentsForRepurchaseOfCommonStock","labelType":"xbrl:label","value":"Payments for Repurchase of Common Stock","language":"en-US"},{"forObject":"us-gaap:PaymentsForRestructuring","labelType":"xbrl:negatedTerseLabel","value":"Cash payments","language":"en-US"},{"forObject":"us-gaap:PaymentsForRestructuring","labelType":"xbrl:label","value":"Payments for Restructuring","language":"en-US"},{"forObject":"us-gaap:PaymentsOfDebtIssuanceCosts","labelType":"xbrl:negatedTerseLabel","value":"Payments to originate the line of credit","language":"en-US"},{"forObject":"us-gaap:PaymentsOfDebtIssuanceCosts","labelType":"xbrl:label","value":"Payments of Debt Issuance Costs","language":"en-US"},{"forObject":"us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation","labelType":"xbrl:negatedLabel","value":"Taxes paid for awards vested under equity incentive plan","language":"en-US"},{"forObject":"us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation","labelType":"xbrl:label","value":"Payments Related to Tax Withholding for Share-based Compensation","language":"en-US"},{"forObject":"us-gaap:PaymentsToAcquireMarketableSecurities","labelType":"xbrl:negatedTerseLabel","value":"Purchases of marketable securities","language":"en-US"},{"forObject":"us-gaap:PaymentsToAcquireMarketableSecurities","labelType":"xbrl:label","value":"Payments to Acquire Marketable Securities","language":"en-US"},{"forObject":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","labelType":"xbrl:negatedLabel","value":"Purchases of property and equipment","language":"en-US"},{"forObject":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","labelType":"xbrl:label","value":"Payments to Acquire Property, Plant, and Equipment","language":"en-US"},{"forObject":"us-gaap:PerformanceSharesMember","labelType":"xbrl:terseLabel","value":"PRSUs","language":"en-US"},{"forObject":"us-gaap:PerformanceSharesMember","labelType":"xbrl:label","value":"Performance Shares [Member]","language":"en-US"},{"forObject":"us-gaap:PlanNameAxis","labelType":"xbrl:terseLabel","value":"Plan Name [Axis]","language":"en-US"},{"forObject":"us-gaap:PlanNameAxis","labelType":"xbrl:label","value":"Plan Name [Axis]","language":"en-US"},{"forObject":"us-gaap:PlanNameDomain","labelType":"xbrl:terseLabel","value":"Plan Name [Domain]","language":"en-US"},{"forObject":"us-gaap:PlanNameDomain","labelType":"xbrl:label","value":"Plan Name [Domain]","language":"en-US"},{"forObject":"us-gaap:PreferredStockParOrStatedValuePerShare","labelType":"xbrl:verboseLabel","value":"Preferred stock, par value (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:PreferredStockParOrStatedValuePerShare","labelType":"xbrl:label","value":"Preferred Stock, Par or Stated Value Per Share","language":"en-US"},{"forObject":"us-gaap:PreferredStockSharesAuthorized","labelType":"xbrl:verboseLabel","value":"Preferred stock, shares authorized (in shares)","language":"en-US"},{"forObject":"us-gaap:PreferredStockSharesAuthorized","labelType":"xbrl:label","value":"Preferred Stock, Shares Authorized","language":"en-US"},{"forObject":"us-gaap:PreferredStockSharesIssued","labelType":"xbrl:verboseLabel","value":"Preferred stock, shares issued (in shares)","language":"en-US"},{"forObject":"us-gaap:PreferredStockSharesIssued","labelType":"xbrl:label","value":"Preferred Stock, Shares Issued","language":"en-US"},{"forObject":"us-gaap:PreferredStockSharesOutstanding","labelType":"xbrl:verboseLabel","value":"Preferred stock, shares outstanding (in shares)","language":"en-US"},{"forObject":"us-gaap:PreferredStockSharesOutstanding","labelType":"xbrl:label","value":"Preferred Stock, Shares Outstanding","language":"en-US"},{"forObject":"us-gaap:PreferredStockValue","labelType":"xbrl:verboseLabel","value":"Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of December 31, 2018 and 2017","language":"en-US"},{"forObject":"us-gaap:PreferredStockValue","labelType":"xbrl:label","value":"Preferred Stock, Value, Issued","language":"en-US"},{"forObject":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","labelType":"xbrl:verboseLabel","value":"Prepaid expenses and other current assets","language":"en-US"},{"forObject":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","labelType":"xbrl:label","value":"Prepaid Expense and Other Assets, Current","language":"en-US"},{"forObject":"us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions","labelType":"xbrl:verboseLabel","value":"Proceeds from employee stock purchase plans","language":"en-US"},{"forObject":"us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions","labelType":"xbrl:label","value":"Proceeds from Issuance of Shares under Incentive and Share-based Compensation Plans, Including Stock Options","language":"en-US"},{"forObject":"us-gaap:ProceedsFromLinesOfCredit","labelType":"xbrl:terseLabel","value":"Proceeds from line of credit","language":"en-US"},{"forObject":"us-gaap:ProceedsFromLinesOfCredit","labelType":"xbrl:label","value":"Proceeds from Lines of Credit","language":"en-US"},{"forObject":"us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities","labelType":"xbrl:verboseLabel","value":"Maturities of marketable securities","language":"en-US"},{"forObject":"us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities","labelType":"xbrl:label","value":"Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-sale","language":"en-US"},{"forObject":"us-gaap:ProceedsFromSaleOfAvailableForSaleSecurities","labelType":"xbrl:terseLabel","value":"Sales of marketable securities","language":"en-US"},{"forObject":"us-gaap:ProceedsFromSaleOfAvailableForSaleSecurities","labelType":"xbrl:label","value":"Proceeds from Sale of Available-for-sale Securities","language":"en-US"},{"forObject":"us-gaap:ProceedsFromStockOptionsExercised","labelType":"xbrl:verboseLabel","value":"Proceeds from exercise of stock options","language":"en-US"},{"forObject":"us-gaap:ProceedsFromStockOptionsExercised","labelType":"xbrl:label","value":"Proceeds from Stock Options Exercised","language":"en-US"},{"forObject":"us-gaap:ProductWarrantyAccrual","labelType":"xbrl:periodStartLabel","value":"Balance at beginning of period","language":"en-US"},{"forObject":"us-gaap:ProductWarrantyAccrual","labelType":"xbrl:label","value":"Standard and Extended Product Warranty Accrual","language":"en-US"},{"forObject":"us-gaap:ProductWarrantyAccrual","labelType":"xbrl:periodEndLabel","value":"Balance at end of period","language":"en-US"},{"forObject":"us-gaap:ProductWarrantyAccrualClassifiedCurrent","labelType":"xbrl:terseLabel","value":"Accrued warranty and retrofit","language":"en-US"},{"forObject":"us-gaap:ProductWarrantyAccrualClassifiedCurrent","labelType":"xbrl:label","value":"Product Warranty Accrual, Current","language":"en-US"},{"forObject":"us-gaap:ProductWarrantyAccrualPayments","labelType":"xbrl:negatedLabel","value":"Utilization of reserve","language":"en-US"},{"forObject":"us-gaap:ProductWarrantyAccrualPayments","labelType":"xbrl:label","value":"Standard and Extended Product Warranty Accrual, Decrease for Payments","language":"en-US"},{"forObject":"us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease","labelType":"xbrl:terseLabel","value":"Adjustments to pre-existing reserve","language":"en-US"},{"forObject":"us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease","labelType":"xbrl:label","value":"Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties","language":"en-US"},{"forObject":"us-gaap:ProductWarrantyAccrualWarrantiesIssued","labelType":"xbrl:verboseLabel","value":"Provision for warranty and retrofit charged to cost of revenue","language":"en-US"},{"forObject":"us-gaap:ProductWarrantyAccrualWarrantiesIssued","labelType":"xbrl:label","value":"Standard and Extended Product Warranty Accrual, Increase for Warranties Issued","language":"en-US"},{"forObject":"us-gaap:ProfitLoss","labelType":"xbrl:terseLabel","value":"Net loss","language":"en-US"},{"forObject":"us-gaap:ProfitLoss","labelType":"xbrl:label","value":"Net Income (Loss), Including Portion Attributable to Noncontrolling Interest","language":"en-US"},{"forObject":"us-gaap:ProfitLoss","labelType":"xbrl:totalLabel","value":"Net loss","language":"en-US"},{"forObject":"us-gaap:ProfitLoss","labelType":"xbrl:verboseLabel","value":"Net income (loss)","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment, Type [Axis]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","labelType":"xbrl:label","value":"Property, Plant and Equipment, Type [Axis]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentGross","labelType":"xbrl:verboseLabel","value":"Property and equipment, gross","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentGross","labelType":"xbrl:label","value":"Property, Plant and Equipment, Gross","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentLineItems","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment [Line Items]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentLineItems","labelType":"xbrl:label","value":"Property, Plant and Equipment [Line Items]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentNet","labelType":"xbrl:totalLabel","value":"Property and equipment, net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentNet","labelType":"xbrl:label","value":"Property, Plant and Equipment, Net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentNet","labelType":"xbrl:verboseLabel","value":"Property and equipment, net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Property and Equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","labelType":"xbrl:label","value":"Property, Plant and Equipment, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTextBlock","labelType":"xbrl:verboseLabel","value":"Property and Equipment, net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTextBlock","labelType":"xbrl:label","value":"Property, Plant and Equipment [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTypeDomain","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment, Type [Domain]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTypeDomain","labelType":"xbrl:label","value":"Property, Plant and Equipment, Type [Domain]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentUsefulLife","labelType":"xbrl:terseLabel","value":"Useful life of property and equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentUsefulLife","labelType":"xbrl:label","value":"Property, Plant and Equipment, Useful Life","language":"en-US"},{"forObject":"us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted","labelType":"xbrl:terseLabel","value":"Purchase commitments","language":"en-US"},{"forObject":"us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted","labelType":"xbrl:label","value":"Purchase Commitment, Remaining Minimum Amount Committed","language":"en-US"},{"forObject":"us-gaap:PurchaseObligation","labelType":"xbrl:terseLabel","value":"Purchase obligation","language":"en-US"},{"forObject":"us-gaap:PurchaseObligation","labelType":"xbrl:label","value":"Purchase Obligation","language":"en-US"},{"forObject":"us-gaap:QuarterlyFinancialInformationDisclosureAbstract","labelType":"xbrl:label","value":"Quarterly Financial Information Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:QuarterlyFinancialInformationTextBlock","labelType":"xbrl:terseLabel","value":"Quarterly Financial Data\u2014Unaudited","language":"en-US"},{"forObject":"us-gaap:QuarterlyFinancialInformationTextBlock","labelType":"xbrl:label","value":"Quarterly Financial Information [Text Block]","language":"en-US"},{"forObject":"us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy","labelType":"xbrl:terseLabel","value":"Allowance for Doubtful Accounts","language":"en-US"},{"forObject":"us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy","labelType":"xbrl:label","value":"Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","labelType":"xbrl:terseLabel","value":"Unrecognized Tax Benefits [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","labelType":"xbrl:label","value":"Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:RepaymentsOfLinesOfCredit","labelType":"xbrl:negatedTerseLabel","value":"Repayments of line of credit","language":"en-US"},{"forObject":"us-gaap:RepaymentsOfLinesOfCredit","labelType":"xbrl:label","value":"Repayments of Lines of Credit","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpense","labelType":"xbrl:verboseLabel","value":"Research and development","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpense","labelType":"xbrl:label","value":"Research and Development Expense","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpenseMember","labelType":"xbrl:terseLabel","value":"Research and development","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpenseMember","labelType":"xbrl:label","value":"Research and Development Expense [Member]","language":"en-US"},{"forObject":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember","labelType":"xbrl:terseLabel","value":"Cash and Cash Equivalents [Domain]","language":"en-US"},{"forObject":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember","labelType":"xbrl:label","value":"Cash and Cash Equivalents [Domain]","language":"en-US"},{"forObject":"us-gaap:RestrictedCashCurrent","labelType":"xbrl:terseLabel","value":"Restricted cash","language":"en-US"},{"forObject":"us-gaap:RestrictedCashCurrent","labelType":"xbrl:label","value":"Restricted Cash, Current","language":"en-US"},{"forObject":"us-gaap:RestrictedStockUnitsRSUMember","labelType":"xbrl:terseLabel","value":"RSUs","language":"en-US"},{"forObject":"us-gaap:RestrictedStockUnitsRSUMember","labelType":"xbrl:label","value":"Restricted Stock Units (RSUs) [Member]","language":"en-US"},{"forObject":"us-gaap:RestructuringAndRelatedActivitiesAbstract","labelType":"xbrl:label","value":"Restructuring and Related Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:RestructuringCharges","labelType":"xbrl:verboseLabel","value":"Restructuring charges for the year","language":"en-US"},{"forObject":"us-gaap:RestructuringCharges","labelType":"xbrl:label","value":"Restructuring Charges","language":"en-US"},{"forObject":"us-gaap:RestructuringCharges","labelType":"xbrl:terseLabel","value":"Restructuring charges","language":"en-US"},{"forObject":"us-gaap:RestructuringCostAndReserveAxis","labelType":"xbrl:terseLabel","value":"Restructuring Type [Axis]","language":"en-US"},{"forObject":"us-gaap:RestructuringCostAndReserveAxis","labelType":"xbrl:label","value":"Restructuring Type [Axis]","language":"en-US"},{"forObject":"us-gaap:RestructuringCostAndReserveLineItems","labelType":"xbrl:terseLabel","value":"Restructuring Cost and Reserve [Line Items]","language":"en-US"},{"forObject":"us-gaap:RestructuringCostAndReserveLineItems","labelType":"xbrl:label","value":"Restructuring Cost and Reserve [Line Items]","language":"en-US"},{"forObject":"us-gaap:RestructuringReserve","labelType":"xbrl:periodStartLabel","value":"Balance at beginning of period","language":"en-US"},{"forObject":"us-gaap:RestructuringReserve","labelType":"xbrl:label","value":"Restructuring Reserve","language":"en-US"},{"forObject":"us-gaap:RestructuringReserve","labelType":"xbrl:periodEndLabel","value":"Balance at end of period","language":"en-US"},{"forObject":"us-gaap:RestructuringReserveCurrent","labelType":"xbrl:terseLabel","value":"Accrued restructuring charges","language":"en-US"},{"forObject":"us-gaap:RestructuringReserveCurrent","labelType":"xbrl:label","value":"Restructuring Reserve, Current","language":"en-US"},{"forObject":"us-gaap:RestructuringReserveRollForward","labelType":"xbrl:terseLabel","value":"Restructuring Reserve [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:RestructuringReserveRollForward","labelType":"xbrl:label","value":"Restructuring Reserve [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsAccumulatedDeficit","labelType":"xbrl:verboseLabel","value":"Accumulated deficit","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsAccumulatedDeficit","labelType":"xbrl:label","value":"Retained Earnings (Accumulated Deficit)","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsMember","labelType":"xbrl:terseLabel","value":"Accumulated Deficit","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsMember","labelType":"xbrl:label","value":"Retained Earnings [Member]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","labelType":"xbrl:terseLabel","value":"Revenue","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","labelType":"xbrl:label","value":"Revenue from Contract with Customer, Including Assessed Tax","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Contract Costs","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","labelType":"xbrl:label","value":"Revenue from Contract with Customer [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:RevenueRecognitionDeferredRevenue","labelType":"xbrl:terseLabel","value":"Deferred Revenue","language":"en-US"},{"forObject":"us-gaap:RevenueRecognitionDeferredRevenue","labelType":"xbrl:label","value":"Revenue Recognition, Deferred Revenue [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:RevenueRecognitionPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Revenue Recognition","language":"en-US"},{"forObject":"us-gaap:RevenueRecognitionPolicyTextBlock","labelType":"xbrl:label","value":"Revenue Recognition, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligation","labelType":"xbrl:terseLabel","value":"Performance obligations expected to be satisfied","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligation","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Amount","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","labelType":"xbrl:terseLabel","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","labelType":"xbrl:terseLabel","value":"Performance obligations expected to be satisfied, expected timing","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","labelType":"xbrl:terseLabel","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","labelType":"xbrl:terseLabel","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationPercentage","labelType":"xbrl:terseLabel","value":"Remaining performance obligation, percentage","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationPercentage","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Percentage","language":"en-US"},{"forObject":"us-gaap:RevenuesAbstract","labelType":"xbrl:terseLabel","value":"Revenue:","language":"en-US"},{"forObject":"us-gaap:RevenuesAbstract","labelType":"xbrl:label","value":"Revenues [Abstract]","language":"en-US"},{"forObject":"us-gaap:RevenuesFromExternalCustomersAndLongLivedAssetsLineItems","labelType":"xbrl:terseLabel","value":"Revenues from External Customers and Long-Lived Assets [Line Items]","language":"en-US"},{"forObject":"us-gaap:RevenuesFromExternalCustomersAndLongLivedAssetsLineItems","labelType":"xbrl:label","value":"Revenues from External Customers and Long-Lived Assets [Line Items]","language":"en-US"},{"forObject":"us-gaap:SalesRevenueNetMember","labelType":"xbrl:terseLabel","value":"Revenue","language":"en-US"},{"forObject":"us-gaap:SalesRevenueNetMember","labelType":"xbrl:label","value":"Sales Revenue, Net [Member]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","labelType":"xbrl:verboseLabel","value":"Accounts Receivable, net","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","labelType":"xbrl:label","value":"Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock","labelType":"xbrl:verboseLabel","value":"Accrued Liabilities","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock","labelType":"xbrl:label","value":"Schedule of Accrued Liabilities [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Accumulated Other Comprehensive Income (Loss)","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock","labelType":"xbrl:label","value":"Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfCashAndCashEquivalentsTable","labelType":"xbrl:terseLabel","value":"Schedule of Cash and Cash Equivalents [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfCashAndCashEquivalentsTable","labelType":"xbrl:label","value":"Schedule of Cash and Cash Equivalents [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock","labelType":"xbrl:terseLabel","value":"Summary of cash and cash equivalents","language":"en-US"},{"forObject":"us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock","labelType":"xbrl:label","value":"Schedule of Cash and Cash Equivalents [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Components of Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","labelType":"xbrl:label","value":"Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Deferred Tax Assets and Liabilities","language":"en-US"},{"forObject":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","labelType":"xbrl:label","value":"Schedule of Deferred Tax Assets and Liabilities [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of net loss per share","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","labelType":"xbrl:label","value":"Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Effective Income Tax Rate Reconciliation","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","labelType":"xbrl:label","value":"Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock","labelType":"xbrl:terseLabel","value":"Property and Equipment by Geographic Region","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock","labelType":"xbrl:label","value":"Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Future Minimum Rental Payments for Operating Leases","language":"en-US"},{"forObject":"us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock","labelType":"xbrl:label","value":"Schedule of Future Minimum Rental Payments for Operating Leases [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Income before Income Tax, Domestic and Foreign","language":"en-US"},{"forObject":"us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock","labelType":"xbrl:label","value":"Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfInventoryCurrentTableTextBlock","labelType":"xbrl:verboseLabel","value":"Inventory","language":"en-US"},{"forObject":"us-gaap:ScheduleOfInventoryCurrentTableTextBlock","labelType":"xbrl:label","value":"Schedule of Inventory, Current [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of New Accounting Pronouncements and Changes in Accounting Principles","language":"en-US"},{"forObject":"us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock","labelType":"xbrl:label","value":"Schedule of New Accounting Pronouncements and Changes in Accounting Principles [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of Product Warranty Liability","language":"en-US"},{"forObject":"us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock","labelType":"xbrl:label","value":"Schedule of Product Warranty Liability [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","labelType":"xbrl:terseLabel","value":"Schedule of Property, Plant and Equipment [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","labelType":"xbrl:label","value":"Property, Plant and Equipment [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Quarterly Financial Information","language":"en-US"},{"forObject":"us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock","labelType":"xbrl:label","value":"Quarterly Financial Information [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRestructuringAndRelatedCostsTable","labelType":"xbrl:terseLabel","value":"Schedule of Restructuring and Related Costs [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRestructuringAndRelatedCostsTable","labelType":"xbrl:label","value":"Schedule of Restructuring and Related Costs [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock","labelType":"xbrl:terseLabel","value":"Restructuring and Related Costs","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock","labelType":"xbrl:label","value":"Restructuring and Related Costs [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock","labelType":"xbrl:terseLabel","value":"Revenue by Geographic Region","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock","labelType":"xbrl:label","value":"Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable","labelType":"xbrl:terseLabel","value":"Schedule of Revenues from External Customers and Long-Lived Assets [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable","labelType":"xbrl:label","value":"Schedule of Revenues from External Customers and Long-Lived Assets [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","labelType":"xbrl:terseLabel","value":"Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","labelType":"xbrl:label","value":"Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Stock Options Activity","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","labelType":"xbrl:label","value":"Share-based Compensation, Stock Options, Activity [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock","labelType":"xbrl:terseLabel","value":"Valuation Assumptions, ESPP","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock","labelType":"xbrl:label","value":"Schedule of Share-based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","labelType":"xbrl:verboseLabel","value":"Valuation Assumptions, Stock Options","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","labelType":"xbrl:label","value":"Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Restricted Stock and Restricted Stock Units Activity","language":"en-US"},{"forObject":"us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock","labelType":"xbrl:label","value":"Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Unrecognized Compensation Cost","language":"en-US"},{"forObject":"us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock","labelType":"xbrl:label","value":"Schedule of Unrecognized Compensation Cost, Nonvested Awards [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Customer Concentration Risk","language":"en-US"},{"forObject":"us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock","labelType":"xbrl:label","value":"Schedules of Concentration of Risk, by Risk Factor [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:SegmentReportingAbstract","labelType":"xbrl:label","value":"Segment Reporting [Abstract]","language":"en-US"},{"forObject":"us-gaap:SegmentReportingDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Segment Information","language":"en-US"},{"forObject":"us-gaap:SegmentReportingDisclosureTextBlock","labelType":"xbrl:label","value":"Segment Reporting Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpense","labelType":"xbrl:verboseLabel","value":"Sales and marketing","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpense","labelType":"xbrl:label","value":"Selling and Marketing Expense","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpenseMember","labelType":"xbrl:terseLabel","value":"Sales and marketing","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpenseMember","labelType":"xbrl:label","value":"Selling and Marketing Expense [Member]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensation","labelType":"xbrl:verboseLabel","value":"Stock-based compensation","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensation","labelType":"xbrl:label","value":"Share-based Compensation","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1","labelType":"xbrl:verboseLabel","value":"Performance period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Award Requisite Service Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","labelType":"xbrl:terseLabel","value":"Vesting period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights","labelType":"xbrl:terseLabel","value":"Vesting rights","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod","labelType":"xbrl:negatedTerseLabel","value":"Canceled","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue","labelType":"xbrl:terseLabel","value":"Canceled (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","labelType":"xbrl:terseLabel","value":"Awards granted, shares","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","labelType":"xbrl:verboseLabel","value":"Granted","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:verboseLabel","value":"Weighted-average grant date fair value per share","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:terseLabel","value":"Granted (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","labelType":"xbrl:terseLabel","value":"Outstanding awards, instruments other than options","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","labelType":"xbrl:periodStartLabel","value":"Outstanding, beginning","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","labelType":"xbrl:periodEndLabel","value":"Outstanding, ending","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","labelType":"xbrl:terseLabel","value":"RSU, PRSU and RSA, Number of Shares:","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue","labelType":"xbrl:periodStartLabel","value":"Outstanding, beginning (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue","labelType":"xbrl:periodEndLabel","value":"Outstanding, ending (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","labelType":"xbrl:terseLabel","value":"RSU, PRSU and RSA, Weighted-Average Grant Date Fair Value Per Value:","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod","labelType":"xbrl:negatedLabel","value":"Vested","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:terseLabel","value":"Vested (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract","labelType":"xbrl:verboseLabel","value":"Weighted average assumptions used to estimate fair value of stock options","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","labelType":"xbrl:verboseLabel","value":"Expected dividend yield","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","labelType":"xbrl:verboseLabel","value":"Expected volatility","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","labelType":"xbrl:verboseLabel","value":"Risk-free interest rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","labelType":"xbrl:terseLabel","value":"Share-based Compensation Arrangement by Share-based Payment Award [Line Items]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award [Line Items]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate","labelType":"xbrl:terseLabel","value":"Maximum employee subscription rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Maximum Employee Subscription Rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee","labelType":"xbrl:terseLabel","value":"Maximum number of shares employee can purchase during offering period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Maximum Number of Shares Per Employee","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized","labelType":"xbrl:terseLabel","value":"Number of additional shares authorized (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized","labelType":"xbrl:verboseLabel","value":"Shares authorized","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","labelType":"xbrl:verboseLabel","value":"Shares available for future grant under 2010 Plan","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","labelType":"xbrl:terseLabel","value":"Stock options exercisable","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","labelType":"xbrl:terseLabel","value":"Stock options exercisable (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue","labelType":"xbrl:terseLabel","value":"Total intrinsic value for exercised stock options","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","labelType":"xbrl:negatedTerseLabel","value":"Stock options forfeited","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","labelType":"xbrl:verboseLabel","value":"Stock options granted","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:terseLabel","value":"Weighted-average grant date fair value per share, stock options","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriod","labelType":"xbrl:terseLabel","value":"Automatic annual increase of reserved shares","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Other Increases (Decreases) in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","labelType":"xbrl:terseLabel","value":"Aggregate intrinsic value, stock options outstanding","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:terseLabel","value":"Stock options outstanding","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:periodStartLabel","value":"Stock options outstanding, beginning","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:periodEndLabel","value":"Stock options outstanding, ending","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","labelType":"xbrl:terseLabel","value":"Stock Options, Number of Shares:","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","labelType":"xbrl:periodStartLabel","value":"Stock options outstanding, beginning (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","labelType":"xbrl:periodEndLabel","value":"Stock options outstanding, ending (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","labelType":"xbrl:terseLabel","value":"Stock Options, Weighted-Average Exercise Price Per Share:","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","labelType":"xbrl:terseLabel","value":"Aggregate intrinsic value, stock options vested and expected to vest","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","labelType":"xbrl:terseLabel","value":"Stock options vested and expected to vest","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","labelType":"xbrl:terseLabel","value":"Stock options vested and expected to vest (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod","labelType":"xbrl:terseLabel","value":"Shares issued in period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward","labelType":"xbrl:terseLabel","value":"Shares purchased for award","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Shares Purchased for Award","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","labelType":"xbrl:terseLabel","value":"Award Type [Domain]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","labelType":"xbrl:label","value":"Equity Award [Domain]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Stock options exercised (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","labelType":"xbrl:terseLabel","value":"Stock options forfeited (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:terseLabel","value":"Stock options granted (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheOneMember","labelType":"xbrl:terseLabel","value":"Period One","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheOneMember","labelType":"xbrl:label","value":"Share-based Compensation Award, Tranche One [Member]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheThreeMember","labelType":"xbrl:terseLabel","value":"Period Three","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheThreeMember","labelType":"xbrl:label","value":"Share-based Compensation Award, Tranche Three [Member]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember","labelType":"xbrl:terseLabel","value":"Period Two","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember","labelType":"xbrl:label","value":"Share-based Compensation Award, Tranche Two [Member]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","labelType":"xbrl:terseLabel","value":"Stock-Based Compensation","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","labelType":"xbrl:label","value":"Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","labelType":"xbrl:terseLabel","value":"Award vesting rights, percentage","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","labelType":"xbrl:verboseLabel","value":"Expected life","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","labelType":"xbrl:terseLabel","value":"Aggregate intrinsic value, stock options exercisable","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","labelType":"xbrl:terseLabel","value":"Weighted-average remaining contractual term, stock options exercisable","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","labelType":"xbrl:terseLabel","value":"Weighted-average remaining contractual term, stock options outstanding","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","labelType":"xbrl:terseLabel","value":"Weighted-average remaining contractual term, stock options vested and expected to vest","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1","labelType":"xbrl:terseLabel","value":"Total fair value of stock options vested","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","labelType":"xbrl:verboseLabel","value":"ESPP, discounted purchase price percentage","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent","language":"en-US"},{"forObject":"us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock","labelType":"xbrl:verboseLabel","value":"Stockholders' Equity","language":"en-US"},{"forObject":"us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock","labelType":"xbrl:label","value":"Shareholders' Equity and Share-based Payments [Text Block]","language":"en-US"},{"forObject":"us-gaap:StandardProductWarrantyPolicy","labelType":"xbrl:terseLabel","value":"Warranty and Retrofit","language":"en-US"},{"forObject":"us-gaap:StandardProductWarrantyPolicy","labelType":"xbrl:label","value":"Standard Product Warranty, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:StateAndLocalJurisdictionMember","labelType":"xbrl:terseLabel","value":"State","language":"en-US"},{"forObject":"us-gaap:StateAndLocalJurisdictionMember","labelType":"xbrl:label","value":"State and Local Jurisdiction [Member]","language":"en-US"},{"forObject":"us-gaap:StatementEquityComponentsAxis","labelType":"xbrl:terseLabel","value":"Equity Components [Axis]","language":"en-US"},{"forObject":"us-gaap:StatementEquityComponentsAxis","labelType":"xbrl:label","value":"Equity Components [Axis]","language":"en-US"},{"forObject":"us-gaap:StatementLineItems","labelType":"xbrl:terseLabel","value":"Statement [Line Items]","language":"en-US"},{"forObject":"us-gaap:StatementLineItems","labelType":"xbrl:label","value":"Statement [Line Items]","language":"en-US"},{"forObject":"us-gaap:StatementOfCashFlowsAbstract","labelType":"xbrl:label","value":"Statement of Cash Flows [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfFinancialPositionAbstract","labelType":"xbrl:label","value":"Statement of Financial Position [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfStockholdersEquityAbstract","labelType":"xbrl:label","value":"Statement of Stockholders' Equity [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementTable","labelType":"xbrl:terseLabel","value":"Statement [Table]","language":"en-US"},{"forObject":"us-gaap:StatementTable","labelType":"xbrl:label","value":"Statement [Table]","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans","labelType":"xbrl:terseLabel","value":"Stock issued under employee stock purchase plans, shares","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans","labelType":"xbrl:label","value":"Stock Issued During Period, Shares, Employee Stock Purchase Plans","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","labelType":"xbrl:negatedTerseLabel","value":"Stock options exercised","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","labelType":"xbrl:verboseLabel","value":"Exercise of stock options, shares","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","labelType":"xbrl:terseLabel","value":"Stock issued under employee stock purchase plans","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","labelType":"xbrl:label","value":"Stock Issued During Period, Value, Employee Stock Purchase Plan","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","labelType":"xbrl:terseLabel","value":"Exercise of stock options","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","labelType":"xbrl:label","value":"Stock Issued During Period, Value, Stock Options Exercised","language":"en-US"},{"forObject":"us-gaap:StockRepurchasedDuringPeriodShares","labelType":"xbrl:negatedTerseLabel","value":"Repurchases of common stock, shares","language":"en-US"},{"forObject":"us-gaap:StockRepurchasedDuringPeriodShares","labelType":"xbrl:label","value":"Stock Repurchased During Period, Shares","language":"en-US"},{"forObject":"us-gaap:StockRepurchasedDuringPeriodValue","labelType":"xbrl:negatedTerseLabel","value":"Repurchases of common stock","language":"en-US"},{"forObject":"us-gaap:StockRepurchasedDuringPeriodValue","labelType":"xbrl:label","value":"Stock Repurchased During Period, Value","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:periodStartLabel","value":"Balance at beginning of period","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:label","value":"Stockholders' Equity Attributable to Parent","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:periodEndLabel","value":"Balance at end of period","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:totalLabel","value":"Total stockholders\u2019 equity","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityAbstract","labelType":"xbrl:verboseLabel","value":"Stockholders\u2019 equity:","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityAbstract","labelType":"xbrl:label","value":"Stockholders' Equity Attributable to Parent [Abstract]","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityNoteAbstract","labelType":"xbrl:label","value":"Stockholders' Equity Note [Abstract]","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityNoteStockSplitConversionRatio1","labelType":"xbrl:terseLabel","value":"Stock split, conversion ratio","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityNoteStockSplitConversionRatio1","labelType":"xbrl:label","value":"Stockholders' Equity Note, Stock Split, Conversion Ratio","language":"en-US"},{"forObject":"us-gaap:SubsequentEventMember","labelType":"xbrl:terseLabel","value":"Subsequent Event","language":"en-US"},{"forObject":"us-gaap:SubsequentEventMember","labelType":"xbrl:label","value":"Subsequent Event [Member]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventTypeAxis","labelType":"xbrl:terseLabel","value":"Subsequent Event Type [Axis]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventTypeAxis","labelType":"xbrl:label","value":"Subsequent Event Type [Axis]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventTypeDomain","labelType":"xbrl:terseLabel","value":"Subsequent Event Type [Domain]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventTypeDomain","labelType":"xbrl:label","value":"Subsequent Event Type [Domain]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventsAbstract","labelType":"xbrl:label","value":"Subsequent Events [Abstract]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventsTextBlock","labelType":"xbrl:terseLabel","value":"Subsequent Event","language":"en-US"},{"forObject":"us-gaap:SubsequentEventsTextBlock","labelType":"xbrl:label","value":"Subsequent Events [Text Block]","language":"en-US"},{"forObject":"us-gaap:SummaryOfIncomeTaxContingenciesTextBlock","labelType":"xbrl:terseLabel","value":"Unrecognized Tax Benefits Activity","language":"en-US"},{"forObject":"us-gaap:SummaryOfIncomeTaxContingenciesTextBlock","labelType":"xbrl:label","value":"Summary of Income Tax Contingencies [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:SupplementalBalanceSheetDisclosuresTextBlock","labelType":"xbrl:verboseLabel","value":"Balance Sheet Details","language":"en-US"},{"forObject":"us-gaap:SupplementalBalanceSheetDisclosuresTextBlock","labelType":"xbrl:label","value":"Supplemental Balance Sheet Disclosures [Text Block]","language":"en-US"},{"forObject":"us-gaap:SupplementalCashFlowInformationAbstract","labelType":"xbrl:terseLabel","value":"Supplemental disclosures of cash flow information:","language":"en-US"},{"forObject":"us-gaap:SupplementalCashFlowInformationAbstract","labelType":"xbrl:label","value":"Supplemental Cash Flow Information [Abstract]","language":"en-US"},{"forObject":"us-gaap:TaxCreditCarryforwardAmount","labelType":"xbrl:terseLabel","value":"Tax credit carryforwards","language":"en-US"},{"forObject":"us-gaap:TaxCreditCarryforwardAmount","labelType":"xbrl:label","value":"Tax Credit Carryforward, Amount","language":"en-US"},{"forObject":"us-gaap:TaxCreditCarryforwardAmount","labelType":"xbrl:verboseLabel","value":"Research and development credits","language":"en-US"},{"forObject":"us-gaap:TechnologyServiceMember","labelType":"xbrl:terseLabel","value":"Services","language":"en-US"},{"forObject":"us-gaap:TechnologyServiceMember","labelType":"xbrl:label","value":"Technology Service [Member]","language":"en-US"},{"forObject":"us-gaap:TitleOfIndividualAxis","labelType":"xbrl:terseLabel","value":"Title of Individual [Axis]","language":"en-US"},{"forObject":"us-gaap:TitleOfIndividualAxis","labelType":"xbrl:label","value":"Title of Individual [Axis]","language":"en-US"},{"forObject":"us-gaap:TitleOfIndividualWithRelationshipToEntityDomain","labelType":"xbrl:terseLabel","value":"Relationship to Entity [Domain]","language":"en-US"},{"forObject":"us-gaap:TitleOfIndividualWithRelationshipToEntityDomain","labelType":"xbrl:label","value":"Relationship to Entity [Domain]","language":"en-US"},{"forObject":"us-gaap:TreasuryStockMember","labelType":"xbrl:terseLabel","value":"Treasury Stock","language":"en-US"},{"forObject":"us-gaap:TreasuryStockMember","labelType":"xbrl:label","value":"Treasury Stock [Member]","language":"en-US"},{"forObject":"us-gaap:TreasuryStockShares","labelType":"xbrl:terseLabel","value":"Treasury stock (in shares)","language":"en-US"},{"forObject":"us-gaap:TreasuryStockShares","labelType":"xbrl:label","value":"Treasury Stock, Shares","language":"en-US"},{"forObject":"us-gaap:TreasuryStockValue","labelType":"xbrl:negatedTerseLabel","value":"Treasury stock, 5,330 shares as of December 31, 2018 and 2017","language":"en-US"},{"forObject":"us-gaap:TreasuryStockValue","labelType":"xbrl:label","value":"Treasury Stock, Value","language":"en-US"},{"forObject":"us-gaap:TypeOfAdoptionMember","labelType":"xbrl:terseLabel","value":"Type of Adoption [Domain]","language":"en-US"},{"forObject":"us-gaap:TypeOfAdoptionMember","labelType":"xbrl:label","value":"Type of Adoption [Domain]","language":"en-US"},{"forObject":"us-gaap:TypeOfRestructuringDomain","labelType":"xbrl:terseLabel","value":"Type of Restructuring [Domain]","language":"en-US"},{"forObject":"us-gaap:TypeOfRestructuringDomain","labelType":"xbrl:label","value":"Type of Restructuring [Domain]","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:periodStartLabel","value":"Balance at beginning of year","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:label","value":"Unrecognized Tax Benefits","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:periodEndLabel","value":"Balance at end of year","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:terseLabel","value":"Unrecognized tax benefits","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued","labelType":"xbrl:terseLabel","value":"Accrued interest or penalties for uncertain income tax","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","labelType":"xbrl:terseLabel","value":"Additions for tax positions related to current year","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","labelType":"xbrl:terseLabel","value":"Additions for tax positions related to prior year","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions","language":"en-US"},{"forObject":"us-gaap:UseOfEstimates","labelType":"xbrl:terseLabel","value":"Use of Estimates","language":"en-US"},{"forObject":"us-gaap:UseOfEstimates","labelType":"xbrl:label","value":"Use of Estimates, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","labelType":"xbrl:terseLabel","value":"Increase (decrease) in valuation allowance","language":"en-US"},{"forObject":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","labelType":"xbrl:label","value":"Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount","language":"en-US"},{"forObject":"us-gaap:ValuationAllowancesAndReservesBalance","labelType":"xbrl:periodStartLabel","value":"Balance at Beginning of Year","language":"en-US"},{"forObject":"us-gaap:ValuationAllowancesAndReservesBalance","labelType":"xbrl:label","value":"SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount","language":"en-US"},{"forObject":"us-gaap:ValuationAllowancesAndReservesBalance","labelType":"xbrl:periodEndLabel","value":"Balance at End of Year","language":"en-US"},{"forObject":"us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense","labelType":"xbrl:terseLabel","value":"Additions Charged to Costs or Expenses or Revenue","language":"en-US"},{"forObject":"us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense","labelType":"xbrl:label","value":"SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense","language":"en-US"},{"forObject":"us-gaap:ValuationAllowancesAndReservesDeductions","labelType":"xbrl:negatedTerseLabel","value":"Deductions and Write Offs","language":"en-US"},{"forObject":"us-gaap:ValuationAllowancesAndReservesDeductions","labelType":"xbrl:label","value":"SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction","language":"en-US"},{"forObject":"us-gaap:ValuationAllowancesAndReservesDomain","labelType":"xbrl:terseLabel","value":"SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]","language":"en-US"},{"forObject":"us-gaap:ValuationAllowancesAndReservesDomain","labelType":"xbrl:label","value":"SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]","language":"en-US"},{"forObject":"us-gaap:ValuationAllowancesAndReservesTypeAxis","labelType":"xbrl:terseLabel","value":"SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]","language":"en-US"},{"forObject":"us-gaap:ValuationAllowancesAndReservesTypeAxis","labelType":"xbrl:label","value":"SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]","language":"en-US"},{"forObject":"us-gaap:VestingAxis","labelType":"xbrl:terseLabel","value":"Vesting [Axis]","language":"en-US"},{"forObject":"us-gaap:VestingAxis","labelType":"xbrl:label","value":"Vesting [Axis]","language":"en-US"},{"forObject":"us-gaap:VestingDomain","labelType":"xbrl:terseLabel","value":"Vesting [Domain]","language":"en-US"},{"forObject":"us-gaap:VestingDomain","labelType":"xbrl:label","value":"Vesting [Domain]","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","labelType":"xbrl:verboseLabel","value":"Basic and diluted (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","labelType":"xbrl:label","value":"Weighted Average Number of Shares Outstanding, Basic and Diluted","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","labelType":"xbrl:terseLabel","value":"Weighted-average common shares outstanding (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasicAbstract","labelType":"xbrl:verboseLabel","value":"Denominator:","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasicAbstract","labelType":"xbrl:label","value":"Weighted Average Number of Shares Outstanding, Basic [Abstract]","language":"en-US"},{"forObject":"cik:0001406666","labelType":"xbrl:label","value":"CALIX, INC","language":"en"},{"forObject":"rpt:group-0","labelType":"xbrl:label","value":"2114100 - Disclosure - Accumulated Other Comprehensive Loss","language":"en"},{"forObject":"rpt:group-1","labelType":"xbrl:label","value":"2414402 - Disclosure - Accumulated Other Comprehensive Loss (Details)","language":"en"},{"forObject":"rpt:group-2","labelType":"xbrl:label","value":"2314301 - Disclosure - Accumulated Other Comprehensive Loss (Tables)","language":"en"},{"forObject":"rpt:group-3","labelType":"xbrl:label","value":"2109100 - Disclosure - Balance Sheet Details","language":"en"},{"forObject":"rpt:group-4","labelType":"xbrl:label","value":"2409402 - Disclosure - Balance Sheet Details - Accounts Receivable (Details)","language":"en"},{"forObject":"rpt:group-5","labelType":"xbrl:label","value":"2409406 - Disclosure - Balance Sheet Details - Accrued Liabilities (Details)","language":"en"},{"forObject":"rpt:group-6","labelType":"xbrl:label","value":"2409403 - Disclosure - Balance Sheet Details - Allowance and Product Return Reserve (Details)","language":"en"},{"forObject":"rpt:group-7","labelType":"xbrl:label","value":"2409409 - Disclosure - Balance Sheet Details - Contract Asset and Liability (Details)","language":"en"},{"forObject":"rpt:group-8","labelType":"xbrl:label","value":"2409404 - Disclosure - Balance Sheet Details - Inventory (Details)","language":"en"},{"forObject":"rpt:group-9","labelType":"xbrl:label","value":"2409407 - Disclosure - Balance Sheet Details - Product Warranty Activity (Details)","language":"en"},{"forObject":"rpt:group-10","labelType":"xbrl:label","value":"2409405 - Disclosure - Balance Sheet Details - Property and Equipment, net (Details)","language":"en"},{"forObject":"rpt:group-11","labelType":"xbrl:label","value":"2409408 - Disclosure - Balance Sheet Details - Restructuring (Details)","language":"en"},{"forObject":"rpt:group-12","labelType":"xbrl:label","value":"2309301 - Disclosure - Balance Sheet Details (Tables)","language":"en"},{"forObject":"rpt:group-13","labelType":"xbrl:label","value":"2104100 - Disclosure - Cash and Cash Equivalents","language":"en"},{"forObject":"rpt:group-14","labelType":"xbrl:label","value":"2404402 - Disclosure - Cash and Cash Equivalents (Details)","language":"en"},{"forObject":"rpt:group-15","labelType":"xbrl:label","value":"2304301 - Disclosure - Cash and Cash Equivalents (Tables)","language":"en"},{"forObject":"rpt:group-16","labelType":"xbrl:label","value":"2111100 - Disclosure - Commitments and Contingencies","language":"en"},{"forObject":"rpt:group-17","labelType":"xbrl:label","value":"2411402 - Disclosure - Commitments and Contingencies - Future Minimum Payments Under Operating Leases (Details)","language":"en"},{"forObject":"rpt:group-18","labelType":"xbrl:label","value":"2311301 - Disclosure - Commitments and Contingencies (Tables)","language":"en"},{"forObject":"rpt:group-19","labelType":"xbrl:label","value":"2411403 - Disclosure - Commitments and Contingencies - Textual (Details)","language":"en"},{"forObject":"rpt:group-20","labelType":"xbrl:label","value":"1001000 - Statement - Consolidated Balance Sheets","language":"en"},{"forObject":"rpt:group-21","labelType":"xbrl:label","value":"1001501 - Statement - Consolidated Balance Sheets (Parenthetical)","language":"en"},{"forObject":"rpt:group-22","labelType":"xbrl:label","value":"1004000 - Statement - Consolidated Statements of Cash Flows","language":"en"},{"forObject":"rpt:group-23","labelType":"xbrl:label","value":"1002000 - Statement - Consolidated Statements of Comprehensive Loss","language":"en"},{"forObject":"rpt:group-24","labelType":"xbrl:label","value":"1002001 - Statement - Consolidated Statements of Comprehensive Loss (Parenthetical)","language":"en"},{"forObject":"rpt:group-25","labelType":"xbrl:label","value":"1003000 - Statement - Consolidated Statements of Stockholders' Equity","language":"en"},{"forObject":"rpt:group-26","labelType":"xbrl:label","value":"2110100 - Disclosure - Credit Agreements","language":"en"},{"forObject":"rpt:group-27","labelType":"xbrl:label","value":"2410401 - Disclosure - Credit Agreements (Details)","language":"en"},{"forObject":"rpt:group-28","labelType":"xbrl:label","value":"2101100 - Disclosure - Description of Business and Significant Accounting Policies","language":"en"},{"forObject":"rpt:group-29","labelType":"xbrl:label","value":"2401407 - Disclosure - Description of Business and Significant Accounting Policies - Contract Costs (Details)","language":"en"},{"forObject":"rpt:group-30","labelType":"xbrl:label","value":"2401403 - Disclosure - Description of Business and Significant Accounting Policies - Customer Concentration Risk (Details)","language":"en"},{"forObject":"rpt:group-31","labelType":"xbrl:label","value":"2401406 - Disclosure - Description of Business and Significant Accounting Policies - Performance Obligations (Details)","language":"en"},{"forObject":"rpt:group-32","labelType":"xbrl:label","value":"2201201 - Disclosure - Description of Business and Significant Accounting Policies (Policies)","language":"en"},{"forObject":"rpt:group-33","labelType":"xbrl:label","value":"2401408 - Disclosure - Description of Business and Significant Accounting Policies - Revenue (Details)","language":"en"},{"forObject":"rpt:group-34","labelType":"xbrl:label","value":"2301302 - Disclosure - Description of Business and Significant Accounting Policies (Tables)","language":"en"},{"forObject":"rpt:group-35","labelType":"xbrl:label","value":"2401405 - Disclosure - Description of Business and Significant Accounting Policies - Textual (Detail)","language":"en"},{"forObject":"rpt:group-36","labelType":"xbrl:label","value":"2401404 - Disclosure - Description of Business and Significant Accounting Policies - Useful Lives of Property and Equipment (Details)","language":"en"},{"forObject":"rpt:group-37","labelType":"xbrl:label","value":"0001000 - Document - Document and Entity Information","language":"en"},{"forObject":"rpt:group-38","labelType":"xbrl:label","value":"2113100 - Disclosure - Employee Benefit Plan","language":"en"},{"forObject":"rpt:group-39","labelType":"xbrl:label","value":"2413401 - Disclosure - Employee Benefit Plan (Details)","language":"en"},{"forObject":"rpt:group-40","labelType":"xbrl:label","value":"2107100 - Disclosure - Fair Value Measurements","language":"en"},{"forObject":"rpt:group-41","labelType":"xbrl:label","value":"2407401 - Disclosure - Fair Value Measurements (Details)","language":"en"},{"forObject":"rpt:group-42","labelType":"xbrl:label","value":"2115100 - Disclosure - Income Taxes","language":"en"},{"forObject":"rpt:group-43","labelType":"xbrl:label","value":"2415405 - Disclosure - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details)","language":"en"},{"forObject":"rpt:group-44","labelType":"xbrl:label","value":"2415403 - Disclosure - Income Taxes - Components of Income Tax Provision (Details)","language":"en"},{"forObject":"rpt:group-45","labelType":"xbrl:label","value":"2415404 - Disclosure - Income Taxes - Income Tax Rate Reconciliation (Details)","language":"en"},{"forObject":"rpt:group-46","labelType":"xbrl:label","value":"2415402 - Disclosure - Income Taxes - Loss before Provision for Income Taxes (Details)","language":"en"},{"forObject":"rpt:group-47","labelType":"xbrl:label","value":"2315301 - Disclosure - Income Taxes (Tables)","language":"en"},{"forObject":"rpt:group-48","labelType":"xbrl:label","value":"2415407 - Disclosure - Income Taxes - Textual (Details)","language":"en"},{"forObject":"rpt:group-49","labelType":"xbrl:label","value":"2415406 - Disclosure - Income Taxes - Unrecognized Tax Benefits Activity (Details)","language":"en"},{"forObject":"rpt:group-50","labelType":"xbrl:label","value":"2116100 - Disclosure - Net Loss Per Common Share","language":"en"},{"forObject":"rpt:group-51","labelType":"xbrl:label","value":"2416402 - Disclosure - Net Loss Per Common Share - Basic and Diluted Shares Calculation (Details)","language":"en"},{"forObject":"rpt:group-52","labelType":"xbrl:label","value":"2316301 - Disclosure - Net Loss Per Common Share (Tables)","language":"en"},{"forObject":"rpt:group-53","labelType":"xbrl:label","value":"2118100 - Disclosure - Product Line Divestiture","language":"en"},{"forObject":"rpt:group-54","labelType":"xbrl:label","value":"2418401 - Disclosure - Product Line Divestiture (Details)","language":"en"},{"forObject":"rpt:group-55","labelType":"xbrl:label","value":"2119100 - Disclosure - Quarterly Financial Data\u2014Unaudited","language":"en"},{"forObject":"rpt:group-56","labelType":"xbrl:label","value":"2419402 - Disclosure - Quarterly Financial Data\u2014Unaudited (Details)","language":"en"},{"forObject":"rpt:group-57","labelType":"xbrl:label","value":"2319301 - Disclosure - Quarterly Financial Data\u2014Unaudited (Tables)","language":"en"},{"forObject":"rpt:group-58","labelType":"xbrl:label","value":"2117100 - Disclosure - Segment Information","language":"en"},{"forObject":"rpt:group-59","labelType":"xbrl:label","value":"2417403 - Disclosure - Segment Information - Property and Equipment by Geographic Region (Details)","language":"en"},{"forObject":"rpt:group-60","labelType":"xbrl:label","value":"2417402 - Disclosure - Segment Information - Revenue by Geographic Region (Details)","language":"en"},{"forObject":"rpt:group-61","labelType":"xbrl:label","value":"2317301 - Disclosure - Segment Information (Tables)","language":"en"},{"forObject":"rpt:group-62","labelType":"xbrl:label","value":"2112100 - Disclosure - Stockholders' Equity","language":"en"},{"forObject":"rpt:group-63","labelType":"xbrl:label","value":"2412405 - Disclosure - Stockholders' Equity - Assumptions (Details)","language":"en"},{"forObject":"rpt:group-64","labelType":"xbrl:label","value":"2412404 - Disclosure - Stockholders' Equity - Fair Value of Awards Granted (Details)","language":"en"},{"forObject":"rpt:group-65","labelType":"xbrl:label","value":"2412403 - Disclosure - Stockholders' Equity - RSU, PRSU and RSA Activities (Details)","language":"en"},{"forObject":"rpt:group-66","labelType":"xbrl:label","value":"2412407 - Disclosure - Stockholders' Equity - Shares Reserved For Future Issuance (Details)","language":"en"},{"forObject":"rpt:group-67","labelType":"xbrl:label","value":"2412402 - Disclosure - Stockholders' Equity - Stock Options Activity (Details)","language":"en"},{"forObject":"rpt:group-68","labelType":"xbrl:label","value":"2312301 - Disclosure - Stockholders' Equity (Tables)","language":"en"},{"forObject":"rpt:group-69","labelType":"xbrl:label","value":"2412408 - Disclosure - Stockholders' Equity - Textual (Details)","language":"en"},{"forObject":"rpt:group-70","labelType":"xbrl:label","value":"2412406 - Disclosure - Stockholders' Equity - Unrecognized Stock-based Compensation Expenses (Details)","language":"en"},{"forObject":"rpt:group-71","labelType":"xbrl:label","value":"2120100 - Disclosure - Subsequent Event Subsequent Event","language":"en"}],"networks":[{"name":"rpt:network-presentation-28","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EquityAbstract","order":1.0},{"source":"us-gaap:EquityAbstract","target":"us-gaap:ComprehensiveIncomeNoteTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-29","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EquityAbstract","order":1.0},{"source":"us-gaap:EquityAbstract","target":"us-gaap:AccumulatedOtherComprehensiveIncomeLossTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccumulatedOtherComprehensiveIncomeLossTable","target":"us-gaap:StatementEquityComponentsAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementEquityComponentsAxis","target":"us-gaap:EquityComponentDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccumulatedOtherComprehensiveIncomeLossLineItems","target":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockholdersEquity","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AccumulatedTranslationAdjustmentMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccumulatedOtherComprehensiveIncomeLossTable","target":"us-gaap:AccumulatedOtherComprehensiveIncomeLossLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AccumulatedOtherComprehensiveIncomeMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockholdersEquity","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-30","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EquityAbstract","order":1.0},{"source":"us-gaap:EquityAbstract","target":"us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-31","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","order":1.0},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:SupplementalBalanceSheetDisclosuresTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-32","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","order":1.0},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:AccountsReceivableNetCurrentAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AccountsReceivableNetCurrentAbstract","target":"us-gaap:AccountsReceivableGrossCurrent","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AccountsReceivableNetCurrentAbstract","target":"us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:AccountsReceivableNetCurrentAbstract","target":"calx:ProductReturnReserve","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:AccountsReceivableNetCurrentAbstract","target":"us-gaap:AccountsReceivableNetCurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-33","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","order":1.0},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:AccruedLiabilitiesCurrentAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"us-gaap:EmployeeRelatedLiabilitiesCurrent","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"us-gaap:ProductWarrantyAccrualClassifiedCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"calx:AccruedCustomerRebates","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"us-gaap:AccruedProfessionalFeesCurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"calx:AccruedEquipmentFinancingArrangementsCurrent","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"calx:AccruedBusinessTravelExpense","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"calx:AccruedFreight","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"us-gaap:AccruedInsuranceCurrent","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"calx:ProductReturnReserveCurrent","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"us-gaap:RestructuringReserveCurrent","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"us-gaap:OtherAccruedLiabilitiesCurrent","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AccruedLiabilitiesCurrentAbstract","target":"us-gaap:AccruedLiabilitiesCurrent","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-34","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","order":1.0},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"srt:ValuationAndQualifyingAccountsDisclosureTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ValuationAndQualifyingAccountsDisclosureTable","target":"us-gaap:ValuationAllowancesAndReservesTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ValuationAllowancesAndReservesTypeAxis","target":"us-gaap:ValuationAllowancesAndReservesDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ValuationAllowancesAndReservesDomain","target":"us-gaap:AllowanceForCreditLossMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ValuationAndQualifyingAccountsDisclosureLineItems","target":"us-gaap:MovementInValuationAllowancesAndReservesRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:MovementInValuationAllowancesAndReservesRollForward","target":"us-gaap:ValuationAllowancesAndReservesBalance","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ValuationAllowancesAndReservesDomain","target":"calx:ProductReturnReserveMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ValuationAndQualifyingAccountsDisclosureTable","target":"srt:ValuationAndQualifyingAccountsDisclosureLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:MovementInValuationAllowancesAndReservesRollForward","target":"us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:MovementInValuationAllowancesAndReservesRollForward","target":"us-gaap:ValuationAllowancesAndReservesDeductions","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:MovementInValuationAllowancesAndReservesRollForward","target":"us-gaap:ValuationAllowancesAndReservesBalance","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-35","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","order":1.0},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:DeferredRevenueArrangementByTypeTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredRevenueArrangementByTypeTable","target":"us-gaap:DeferredRevenueArrangementTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredRevenueArrangementTypeAxis","target":"us-gaap:DeferredRevenueArrangementTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredRevenueArrangementTypeDomain","target":"calx:ProductAndServicesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredRevenueArrangementLineItems","target":"us-gaap:ContractWithCustomerAssetNet","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredRevenueArrangementTypeDomain","target":"calx:ExtendedWarrantyMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredRevenueArrangementByTypeTable","target":"us-gaap:DeferredRevenueArrangementLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredRevenueArrangementLineItems","target":"calx:ContractwithCustomerAssetPriorPeriodNotRecognized","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredRevenueArrangementLineItems","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:netLabel"}]},{"source":"us-gaap:DeferredRevenueArrangementLineItems","target":"us-gaap:ContractWithCustomerLiabilityNoncurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredRevenueArrangementLineItems","target":"us-gaap:ContractWithCustomerLiability","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:DeferredRevenueArrangementLineItems","target":"us-gaap:ContractWithCustomerLiabilityRevenueRecognized","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-36","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","order":1.0},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:InventoryNetAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:InventoryNetAbstract","target":"us-gaap:InventoryRawMaterialsNetOfReserves","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:InventoryNetAbstract","target":"us-gaap:InventoryFinishedGoodsNetOfReserves","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:InventoryNetAbstract","target":"us-gaap:InventoryNet","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-37","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","order":1.0},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward","target":"us-gaap:ProductWarrantyAccrual","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward","target":"us-gaap:ProductWarrantyAccrualWarrantiesIssued","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward","target":"us-gaap:ProductWarrantyAccrualPayments","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward","target":"us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward","target":"us-gaap:ProductWarrantyAccrual","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-38","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","order":1.0},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","target":"us-gaap:PropertyPlantAndEquipmentTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:EquipmentMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentGross","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"calx:ComputerEquipmentAndPurchasedSoftwareMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:Depreciation","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:FurnitureAndFixturesMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentNet","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:LeaseholdImprovementsMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-39","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RestructuringAndRelatedActivitiesAbstract","order":1.0},{"source":"us-gaap:RestructuringAndRelatedActivitiesAbstract","target":"us-gaap:ScheduleOfRestructuringAndRelatedCostsTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRestructuringAndRelatedCostsTable","target":"us-gaap:RestructuringCostAndReserveAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RestructuringCostAndReserveAxis","target":"us-gaap:TypeOfRestructuringDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TypeOfRestructuringDomain","target":"us-gaap:EmployeeSeveranceMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RestructuringCostAndReserveLineItems","target":"us-gaap:RestructuringReserveRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RestructuringReserveRollForward","target":"us-gaap:RestructuringReserve","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:TypeOfRestructuringDomain","target":"us-gaap:FacilityClosingMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRestructuringAndRelatedCostsTable","target":"us-gaap:RestructuringCostAndReserveLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RestructuringReserveRollForward","target":"us-gaap:RestructuringCharges","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:RestructuringReserveRollForward","target":"us-gaap:PaymentsForRestructuring","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:RestructuringReserveRollForward","target":"us-gaap:RestructuringReserve","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-40","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","order":1.0},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:ScheduleOfInventoryCurrentTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:PropertyPlantAndEquipmentTextBlock","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:BalanceSheetRelatedDisclosuresAbstract","target":"us-gaap:DeferredRevenueByArrangementDisclosureTextBlock","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-41","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CashAndCashEquivalentsAbstract","order":1.0},{"source":"us-gaap:CashAndCashEquivalentsAbstract","target":"us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-42","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CashAndCashEquivalentsAbstract","order":1.0},{"source":"us-gaap:CashAndCashEquivalentsAbstract","target":"us-gaap:ScheduleOfCashAndCashEquivalentsTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfCashAndCashEquivalentsTable","target":"us-gaap:CashAndCashEquivalentsAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CashAndCashEquivalentsAxis","target":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember","target":"us-gaap:CashMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CashAndCashEquivalentsLineItems","target":"us-gaap:CashAndCashEquivalentsAtCarryingValue","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember","target":"us-gaap:MoneyMarketFundsMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfCashAndCashEquivalentsTable","target":"us-gaap:CashAndCashEquivalentsLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-43","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CashAndCashEquivalentsAbstract","order":1.0},{"source":"us-gaap:CashAndCashEquivalentsAbstract","target":"us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-44","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","order":1.0},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-45","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","order":1.0},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-46","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","order":1.0},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-47","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","order":1.0},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:LossContingenciesTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LossContingenciesTable","target":"srt:StatementGeographicalAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:StatementGeographicalAxis","target":"srt:SegmentGeographicalDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"calx:SanJoseCaliforniaMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OtherCommitmentsAxis","target":"us-gaap:OtherCommitmentsDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OtherCommitmentsDomain","target":"calx:EngineeringServicesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LossContingenciesLineItems","target":"calx:OperatingLeaseAreaOfOffice","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"calx:WestJordanUtahMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LossContingenciesTable","target":"us-gaap:OtherCommitmentsAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LossContingenciesLineItems","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"calx:PetalumaCAMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LossContingenciesTable","target":"us-gaap:LossContingenciesLineItems","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LossContingenciesLineItems","target":"us-gaap:LesseeOperatingLeaseTermOfContract","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LossContingenciesLineItems","target":"us-gaap:LeaseAndRentalExpense","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LossContingenciesLineItems","target":"us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LossContingenciesLineItems","target":"calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LossContingenciesLineItems","target":"us-gaap:OtherCommitment","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-48","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfFinancialPositionAbstract","order":1.0},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:AssetsAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:AssetsCurrentAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:CashAndCashEquivalentsAtCarryingValue","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:LiabilitiesCurrentAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:AccountsPayableCurrent","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:PreferredStockValue","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:RestrictedCashCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:PropertyPlantAndEquipmentNet","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:AccruedLiabilitiesCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:DeferredRevenueNoncurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:CommonStockValue","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:AccountsReceivableNetCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:Goodwill","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:OtherLiabilitiesNoncurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:AdditionalPaidInCapitalCommonStock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:InventoryNet","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:OtherAssetsNoncurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:LinesOfCreditCurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:Liabilities","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:Assets","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:LiabilitiesCurrent","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:CommitmentsAndContingencies","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:AssetsCurrent","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:StockholdersEquityAbstract","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:TreasuryStockValue","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:StockholdersEquity","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:LiabilitiesAndStockholdersEquity","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-49","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfFinancialPositionAbstract","order":1.0},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:PreferredStockParOrStatedValuePerShare","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:PreferredStockSharesAuthorized","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:PreferredStockSharesIssued","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:PreferredStockSharesOutstanding","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockParOrStatedValuePerShare","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockSharesAuthorized","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockSharesIssued","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockSharesOutstanding","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:TreasuryStockShares","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-50","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfCashFlowsAbstract","order":1.0},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:ProfitLoss","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:ShareBasedCompensation","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingCapitalAbstract","target":"us-gaap:IncreaseDecreaseInAccountsReceivable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:ProceedsFromStockOptionsExercised","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:SupplementalCashFlowInformationAbstract","target":"us-gaap:InterestPaidNet","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","target":"calx:ChangeInCapitalExpendituresIncurredButNotYetPaid","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:Depreciation","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingCapitalAbstract","target":"us-gaap:IncreaseDecreaseInInventories","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"us-gaap:PaymentsToAcquireMarketableSecurities","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:SupplementalCashFlowInformationAbstract","target":"us-gaap:IncomeTaxesPaidNet","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:GainLossOnDispositionOfAssets","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingCapitalAbstract","target":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:NetCashProvidedByUsedInOperatingActivities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"us-gaap:ProceedsFromSaleOfAvailableForSaleSecurities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:PaymentsForRepurchaseOfCommonStock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:AmortizationOfIntangibleAssets","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingCapitalAbstract","target":"us-gaap:IncreaseDecreaseInAccountsPayable","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingCapitalAbstract","target":"us-gaap:IncreaseDecreaseInAccruedLiabilities","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"calx:ProceedsFromSaleOfProductLine","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:ProceedsFromLinesOfCredit","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"calx:GainLossOnSaleOfProductLine","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingCapitalAbstract","target":"us-gaap:IncreaseDecreaseInDeferredRevenue","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"us-gaap:NetCashProvidedByUsedInInvestingActivities","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:RepaymentsOfLinesOfCredit","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:IncreaseDecreaseInOperatingCapitalAbstract","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingCapitalAbstract","target":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:PaymentsOfDebtIssuanceCosts","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:NetCashProvidedByUsedInFinancingActivities","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:SupplementalCashFlowInformationAbstract","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-51","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeStatementAbstract","order":1.0},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:StatementTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"srt:ProductOrServiceAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductOrServiceAxis","target":"srt:ProductsAndServicesDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"calx:SystemsProductMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:RevenuesAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenuesAbstract","target":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CostOfRevenueAbstract","target":"us-gaap:CostOfGoodsAndServicesSold","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:ResearchAndDevelopmentExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NonoperatingIncomeExpenseAbstract","target":"us-gaap:InvestmentIncomeNet","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EarningsPerShareBasicAbstract","target":"us-gaap:EarningsPerShareBasicAndDiluted","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EarningsPerShareDilutedOtherDisclosuresAbstract","target":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract","target":"us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"us-gaap:TechnologyServiceMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"us-gaap:StatementLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:CostOfRevenueAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:SellingAndMarketingExpense","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NonoperatingIncomeExpenseAbstract","target":"us-gaap:OtherNonoperatingIncomeExpense","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract","target":"us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:GrossProfit","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:GeneralAndAdministrativeExpense","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NonoperatingIncomeExpenseAbstract","target":"us-gaap:NonoperatingIncomeExpense","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract","target":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:OperatingExpensesAbstract","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:RestructuringCharges","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"calx:OperatingExpensesAmortization","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:OperatingIncomeLoss","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:GainLossOnDispositionOfAssets1","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:NonoperatingIncomeExpenseAbstract","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:GainLossRelatedToLitigationSettlement","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:OperatingExpenses","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:IncomeTaxExpenseBenefit","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:ProfitLoss","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:EarningsPerShareBasicAbstract","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:EarningsPerShareDilutedOtherDisclosuresAbstract","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:ProfitLoss","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-52","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeStatementAbstract","order":1.0},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:StatementTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"us-gaap:IncomeStatementLocationAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationAxis","target":"us-gaap:IncomeStatementLocationDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"calx:CostOfRevenueSystemsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:AllocatedShareBasedCompensationExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"calx:CostOfRevenueServicesMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"us-gaap:StatementLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:ResearchAndDevelopmentExpenseMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:SellingAndMarketingExpenseMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:GeneralAndAdministrativeExpenseMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-53","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfStockholdersEquityAbstract","order":1.0},{"source":"us-gaap:StatementOfStockholdersEquityAbstract","target":"us-gaap:StatementTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"us-gaap:StatementEquityComponentsAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementEquityComponentsAxis","target":"us-gaap:EquityComponentDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:CommonStockMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:CommonStockSharesOutstanding","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AdditionalPaidInCapitalMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"us-gaap:StatementLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockholdersEquity","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AccumulatedOtherComprehensiveIncomeMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:RetainedEarningsMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:TreasuryStockMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"calx:StockIssuedDuringPeriodSharesPerformanceRestrictedStockAwardNetofForfeitures","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:ProfitLoss","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockRepurchasedDuringPeriodShares","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockRepurchasedDuringPeriodValue","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:CommonStockSharesOutstanding","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockholdersEquity","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-54","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LineOfCreditFacilityAbstract","order":1.0},{"source":"us-gaap:LineOfCreditFacilityAbstract","target":"us-gaap:DebtDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-55","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LineOfCreditFacilityAbstract","order":1.0},{"source":"us-gaap:LineOfCreditFacilityAbstract","target":"us-gaap:LineOfCreditFacilityTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LineOfCreditFacilityTable","target":"us-gaap:LineOfCreditFacilityAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LineOfCreditFacilityAxis","target":"us-gaap:LineOfCreditFacilityLenderDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LineOfCreditFacilityLenderDomain","target":"calx:SiliconValleyBankMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CreditFacilityAxis","target":"us-gaap:CreditFacilityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CreditFacilityDomain","target":"us-gaap:LetterOfCreditMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","target":"us-gaap:PropertyPlantAndEquipmentTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"calx:ResearchAndDevelopmentEquipmentMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LineOfCreditFacilityLineItems","target":"us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LineOfCreditFacilityTable","target":"us-gaap:CreditFacilityAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LineOfCreditFacilityLineItems","target":"us-gaap:LinesOfCreditCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LineOfCreditFacilityTable","target":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LineOfCreditFacilityLineItems","target":"us-gaap:DebtInstrumentInterestRateEffectivePercentage","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LineOfCreditFacilityTable","target":"us-gaap:LineOfCreditFacilityLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LineOfCreditFacilityLineItems","target":"us-gaap:PurchaseObligation","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LineOfCreditFacilityLineItems","target":"calx:PurchaseObligationTerm","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LineOfCreditFacilityLineItems","target":"us-gaap:DebtWeightedAverageInterestRate","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-56","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-57","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:DisaggregationOfRevenueTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"srt:RangeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:CapitalizedContractCostAmortizationPeriod","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"us-gaap:DisaggregationOfRevenueLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:CapitalizedContractCostGross","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:CapitalizedContractCostAmortization","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:CapitalizedContractCostImpairmentLoss","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-58","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","order":1.0},{"source":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","target":"us-gaap:ConcentrationRiskTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskTable","target":"us-gaap:ConcentrationRiskByTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskByTypeAxis","target":"us-gaap:ConcentrationRiskTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskTypeDomain","target":"us-gaap:CustomerConcentrationRiskMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskByBenchmarkAxis","target":"us-gaap:ConcentrationRiskBenchmarkDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskBenchmarkDomain","target":"us-gaap:AccountsReceivableMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:MajorCustomersAxis","target":"srt:NameOfMajorCustomerDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:NameOfMajorCustomerDomain","target":"calx:CenturyLinkMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskLineItems","target":"us-gaap:ConcentrationRiskPercentage1","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskTable","target":"us-gaap:ConcentrationRiskByBenchmarkAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskBenchmarkDomain","target":"us-gaap:SalesRevenueNetMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:NameOfMajorCustomerDomain","target":"calx:WindstreamMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskTable","target":"srt:MajorCustomersAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskTable","target":"us-gaap:ConcentrationRiskLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-59","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RevenueRemainingPerformanceObligation","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","target":"us-gaap:RevenueRemainingPerformanceObligationPercentage","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-60","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ConsolidationPolicyTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:UseOfEstimates","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RevenueRecognitionPolicyTextBlock","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:CostOfSalesPolicyTextBlock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:StandardProductWarrantyPolicy","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:CommitmentsAndContingenciesPolicyTextBlock","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ConcentrationRiskDisclosureTextBlock","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:FairValueOfFinancialInstrumentsPolicy","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"calx:CashCashEquivalentsAndMarketableSecuritiesPolicyPolicyTextBlockPolicyTextBlock","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:InventoryPolicyTextBlock","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RevenueRecognitionDeferredRevenue","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:IncomeTaxPolicyTextBlock","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-61","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:DisaggregationOfRevenueTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"us-gaap:SubsequentEventTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:SubsequentEventTypeAxis","target":"us-gaap:SubsequentEventTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:SubsequentEventTypeDomain","target":"us-gaap:SubsequentEventMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementEquityComponentsAxis","target":"us-gaap:EquityComponentDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:RetainedEarningsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductOrServiceAxis","target":"srt:ProductsAndServicesDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"calx:SystemsProductMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","target":"us-gaap:TypeOfAdoptionMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TypeOfAdoptionMember","target":"us-gaap:AccountingStandardsUpdate201409Member","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis","target":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain","target":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"us-gaap:StatementEquityComponentsAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"us-gaap:TechnologyServiceMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TypeOfAdoptionMember","target":"calx:AccountingStandardsUpdate201815Member","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain","target":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:AccountsReceivableNetCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"srt:ProductOrServiceAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TypeOfAdoptionMember","target":"us-gaap:AccountingStandardsUpdate201618Member","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TypeOfAdoptionMember","target":"us-gaap:AccountingStandardsUpdate201602Member","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:OtherAssetsNoncurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:Assets","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"us-gaap:DisaggregationOfRevenueLineItems","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:AccruedLiabilitiesCurrent","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:ContractWithCustomerLiability","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:Liabilities","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:LiabilitiesAndStockholdersEquity","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:CostOfGoodsAndServicesSold","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:GrossProfit","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:SellingAndMarketingExpense","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:ProfitLoss","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:CapitalizedContractCostGross","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:RestrictedCashCurrent","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:OperatingLeaseLiability","order":20.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-62","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-63","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"calx:ScheduleOfCertainTermsTableTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:ScheduleOfCertainTermsTableTable","target":"us-gaap:BalanceSheetLocationAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:BalanceSheetLocationAxis","target":"us-gaap:BalanceSheetLocationDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:BalanceSheetLocationDomain","target":"us-gaap:RetainedEarningsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","target":"us-gaap:TypeOfAdoptionMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TypeOfAdoptionMember","target":"us-gaap:AccountingStandardsUpdate201409Member","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:ScheduleOfCertainTermsLineItemsLineItems","target":"us-gaap:RestrictedCashCurrent","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:ScheduleOfCertainTermsTableTable","target":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:ScheduleOfCertainTermsLineItemsLineItems","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"calx:ScheduleOfCertainTermsTableTable","target":"srt:RangeAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:ScheduleOfCertainTermsLineItemsLineItems","target":"calx:ProductWarrantyPeriod","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:ScheduleOfCertainTermsTableTable","target":"calx:ScheduleOfCertainTermsLineItemsLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:ScheduleOfCertainTermsLineItemsLineItems","target":"us-gaap:ForeignFinancialInstitutionsActualDeposits","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:ScheduleOfCertainTermsLineItemsLineItems","target":"us-gaap:GoodwillImpairmentLoss","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:ScheduleOfCertainTermsLineItemsLineItems","target":"us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-64","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","target":"us-gaap:PropertyPlantAndEquipmentTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:ComputerEquipmentMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentUsefulLife","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:ComputerSoftwareIntangibleAssetMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:EquipmentMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:FurnitureAndFixturesMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-65","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"calx:DocumentAndEntityInformationAbstract","order":1.0},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:EntityRegistrantName","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:EntityCentralIndexKey","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:DocumentType","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:DocumentPeriodEndDate","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:AmendmentFlag","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:DocumentFiscalYearFocus","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:DocumentFiscalPeriodFocus","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:CurrentFiscalYearEndDate","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:EntityFilerCategory","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:EntityCurrentReportingStatus","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:EntityVoluntaryFilers","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:EntityWellKnownSeasonedIssuer","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:TradingSymbol","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:EntityEmergingGrowthCompany","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:EntitySmallBusiness","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:EntityShellCompany","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:EntityCommonStockSharesOutstanding","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:DocumentAndEntityInformationAbstract","target":"dei:EntityPublicFloat","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-66","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CompensationAndRetirementDisclosureAbstract","order":1.0},{"source":"us-gaap:CompensationAndRetirementDisclosureAbstract","target":"us-gaap:CompensationAndEmployeeBenefitPlansTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-67","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CompensationAndRetirementDisclosureAbstract","order":1.0},{"source":"us-gaap:CompensationAndRetirementDisclosureAbstract","target":"us-gaap:DefinedContributionPlanCostRecognized","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-68","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:FairValueDisclosuresAbstract","order":1.0},{"source":"us-gaap:FairValueDisclosuresAbstract","target":"us-gaap:FairValueDisclosuresTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-69","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:FairValueDisclosuresAbstract","order":1.0},{"source":"us-gaap:FairValueDisclosuresAbstract","target":"us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable","target":"us-gaap:CashAndCashEquivalentsAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CashAndCashEquivalentsAxis","target":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember","target":"us-gaap:MoneyMarketFundsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:FairValueByFairValueHierarchyLevelAxis","target":"us-gaap:FairValueMeasurementsFairValueHierarchyDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:FairValueMeasurementsFairValueHierarchyDomain","target":"us-gaap:FairValueInputsLevel1Member","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems","target":"us-gaap:CashAndCashEquivalentsFairValueDisclosure","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable","target":"us-gaap:FairValueByFairValueHierarchyLevelAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable","target":"us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-70","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:IncomeTaxDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-71","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsGrossAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:TaxCreditCarryforwardAmount","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsDeferredIncome","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsOther","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsGross","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsValuationAllowance","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsNet","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-72","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:CurrentForeignTaxExpenseBenefit","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:CurrentIncomeTaxExpenseBenefit","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:IncomeTaxExpenseBenefit","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-73","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"calx:EffectiveIncomeTaxRateReconciliationForeignIncomeInclusionPercent","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"calx:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017Percent","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"calx:EffectiveIncomeTaxRateReconciliationTopic606AdjustmentPercent","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-74","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-75","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:SummaryOfIncomeTaxContingenciesTextBlock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-76","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"calx:IncomeTaxesTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:IncomeTaxesTable","target":"us-gaap:IncomeTaxAuthorityAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityAxis","target":"us-gaap:IncomeTaxAuthorityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:DomesticCountryMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:IncomeTaxesLineItems","target":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:StateAndLocalJurisdictionMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:IncomeTaxesTable","target":"calx:IncomeTaxesLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:IncomeTaxesLineItems","target":"us-gaap:OperatingLossCarryforwards","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"calx:CaliforniaStateMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:IncomeTaxesLineItems","target":"us-gaap:TaxCreditCarryforwardAmount","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"calx:OtherStateMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:IncomeTaxesLineItems","target":"us-gaap:UnrecognizedTaxBenefits","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:IncomeTaxesLineItems","target":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-77","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefits","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefits","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-78","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EarningsPerShareAbstract","order":1.0},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:EarningsPerShareTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-79","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EarningsPerShareAbstract","order":1.0},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:EarningsPerShareBasicAndDilutedAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EarningsPerShareBasicAndDilutedAbstract","target":"us-gaap:NetIncomeLossAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetIncomeLossAbstract","target":"us-gaap:ProfitLoss","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasicAbstract","target":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EarningsPerShareBasicAndDilutedAbstract","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasicAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EarningsPerShareBasicAndDilutedAbstract","target":"us-gaap:EarningsPerShareBasicAndDiluted","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EarningsPerShareBasicAndDilutedAbstract","target":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-80","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EarningsPerShareAbstract","order":1.0},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-81","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DiscontinuedOperationsAndDisposalGroupsAbstract","order":1.0},{"source":"us-gaap:DiscontinuedOperationsAndDisposalGroupsAbstract","target":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-82","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DiscontinuedOperationsAndDisposalGroupsAbstract","order":1.0},{"source":"us-gaap:DiscontinuedOperationsAndDisposalGroupsAbstract","target":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable","target":"srt:CounterpartyNameAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:CounterpartyNameAxis","target":"srt:RepurchaseAgreementCounterpartyNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"calx:ClearfieldInc.Member","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis","target":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsNameDomain","target":"calx:OutdoorCabinetProductLineMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems","target":"us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable","target":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems","target":"us-gaap:DisposalGroupIncludingDiscontinuedOperationInventory1","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable","target":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems","target":"calx:DisposalGroupPeriodOfNewOrdersSolicitation","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems","target":"us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems","target":"us-gaap:DisposalGroupNotDiscontinuedOperationGainLossOnDisposal","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-83","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:QuarterlyFinancialInformationDisclosureAbstract","order":1.0},{"source":"us-gaap:QuarterlyFinancialInformationDisclosureAbstract","target":"us-gaap:QuarterlyFinancialInformationTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-84","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:QuarterlyFinancialInformationDisclosureAbstract","order":1.0},{"source":"us-gaap:QuarterlyFinancialInformationDisclosureAbstract","target":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:QuarterlyFinancialInformationDisclosureAbstract","target":"us-gaap:GrossProfit","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:QuarterlyFinancialInformationDisclosureAbstract","target":"us-gaap:OperatingIncomeLoss","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:QuarterlyFinancialInformationDisclosureAbstract","target":"us-gaap:ProfitLoss","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:QuarterlyFinancialInformationDisclosureAbstract","target":"us-gaap:EarningsPerShareBasicAndDiluted","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-85","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:QuarterlyFinancialInformationDisclosureAbstract","order":1.0},{"source":"us-gaap:QuarterlyFinancialInformationDisclosureAbstract","target":"us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-86","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:SegmentReportingAbstract","order":1.0},{"source":"us-gaap:SegmentReportingAbstract","target":"us-gaap:SegmentReportingDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-87","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:SegmentReportingAbstract","order":1.0},{"source":"us-gaap:SegmentReportingAbstract","target":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable","target":"srt:StatementGeographicalAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:StatementGeographicalAxis","target":"srt:SegmentGeographicalDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"country:US","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenuesFromExternalCustomersAndLongLivedAssetsLineItems","target":"us-gaap:PropertyPlantAndEquipmentNet","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"country:CN","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable","target":"us-gaap:RevenuesFromExternalCustomersAndLongLivedAssetsLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-88","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:SegmentReportingAbstract","order":1.0},{"source":"us-gaap:SegmentReportingAbstract","target":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable","target":"srt:StatementGeographicalAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:StatementGeographicalAxis","target":"srt:SegmentGeographicalDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"country:US","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenuesFromExternalCustomersAndLongLivedAssetsLineItems","target":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"us-gaap:MiddleEastMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable","target":"us-gaap:RevenuesFromExternalCustomersAndLongLivedAssetsLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"country:CA","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"srt:EuropeMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"calx:CaribbeanMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"calx:SegmentGeographicalOtherCountriesMember","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-89","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:SegmentReportingAbstract","order":1.0},{"source":"us-gaap:SegmentReportingAbstract","target":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:SegmentReportingAbstract","target":"us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-90","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StockholdersEquityNoteAbstract","order":1.0},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-91","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StockholdersEquityNoteAbstract","order":1.0},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:AwardTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AwardTypeAxis","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockOptionMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-92","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StockholdersEquityNoteAbstract","order":1.0},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:PlanNameAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameAxis","target":"us-gaap:PlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AwardTypeAxis","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:RestrictedStockUnitsRSUMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:AwardTypeAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-93","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StockholdersEquityNoteAbstract","order":1.0},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:AwardTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AwardTypeAxis","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:RestrictedStockUnitsRSUMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-94","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StockholdersEquityNoteAbstract","order":1.0},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:PlanNameAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameAxis","target":"us-gaap:PlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"calx:A2010PlanMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AwardTypeAxis","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:RestrictedStockUnitsRSUMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:AwardTypeAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-95","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StockholdersEquityNoteAbstract","order":1.0},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsOutstandingIntrinsicValueAmountPerShare","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-96","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StockholdersEquityNoteAbstract","order":1.0},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"calx:ScheduleOfGrantDateFairValuesTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"calx:SharesReservedForFutureIssuanceTableTextBlock","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-97","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StockholdersEquityNoteAbstract","order":1.0},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:TitleOfIndividualAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TitleOfIndividualAxis","target":"us-gaap:TitleOfIndividualWithRelationshipToEntityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TitleOfIndividualWithRelationshipToEntityDomain","target":"us-gaap:ExecutiveOfficerMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:VestingAxis","target":"us-gaap:VestingDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheOneMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:StockOptionByTypeAxis","target":"calx:StockOptionByTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"calx:StockOptionByTypeDomain","target":"calx:IncentiveStockOptionMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameAxis","target":"us-gaap:PlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"calx:PriorPlansMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AwardTypeAxis","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"calx:IncentiveStockOptionMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:CommonStockDividendsPerShareDeclared","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TitleOfIndividualWithRelationshipToEntityDomain","target":"us-gaap:ChiefFinancialOfficerMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:VestingAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"calx:A2010PlanMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockOptionMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:PreferredStockSharesAuthorized","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheThreeMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"calx:StockOptionByTypeAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"calx:InducementAwardMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:RestrictedStockUnitsRSUMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:StockholdersEquityNoteStockSplitConversionRatio1","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:PlanNameAxis","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:PreferredStockSharesIssued","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:AwardTypeAxis","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"calx:PerformanceBasedStockOptionsMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:NumberOfEquityIncentivePlans","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockMember","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:MinimumExercisePriceOfStockOptionPercent","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingAnniversaryPeriod","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:ContractualTermStockOptions","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceofCommonStockNumberOfOfferingPeriods","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumAnnualNumberOfSharesReserved","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:MaximumSharesAllowedToBeIssued","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriod","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:CommonStockConversionBasis","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConvertedintoCommonStock","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1","order":20.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriodSubsequentPeriod","order":21.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","order":22.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","order":23.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward","order":24.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod","order":25.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","order":26.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue","order":27.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","order":28.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1","order":29.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate","order":30.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee","order":31.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","order":32.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod","order":33.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized","order":34.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized","order":35.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod","order":36.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:AllocatedShareBasedCompensationExpense","order":37.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:PercentOfHistoricalVolatility","order":38.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:PercentOfImpliedVolatility","order":39.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-98","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StockholdersEquityNoteAbstract","order":1.0},{"source":"us-gaap:StockholdersEquityNoteAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:AwardTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AwardTypeAxis","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockOptionMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:RestrictedStockUnitsRSUMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedNextTwelveMonth","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearTwo","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearThree","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearFour","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-99","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:SubsequentEventsAbstract","order":1.0},{"source":"us-gaap:SubsequentEventsAbstract","target":"us-gaap:SubsequentEventsTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-calculation-100","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountsReceivableNetCurrent","order":1.0},{"source":"us-gaap:AccountsReceivableNetCurrent","target":"us-gaap:AccountsReceivableGrossCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccountsReceivableNetCurrent","target":"us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:AccountsReceivableNetCurrent","target":"calx:ProductReturnReserve","order":3.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-101","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccruedLiabilitiesCurrent","order":1.0},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"us-gaap:EmployeeRelatedLiabilitiesCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"us-gaap:AccruedProfessionalFeesCurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"us-gaap:ProductWarrantyAccrualClassifiedCurrent","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"calx:AccruedCustomerRebates","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"us-gaap:RestructuringReserveCurrent","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"us-gaap:OtherAccruedLiabilitiesCurrent","order":7.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes","order":8.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"calx:AccruedBusinessTravelExpense","order":9.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"us-gaap:AccruedInsuranceCurrent","order":10.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"calx:AccruedFreight","order":11.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"calx:AccruedEquipmentFinancingArrangementsCurrent","order":12.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccruedLiabilitiesCurrent","target":"calx:ProductReturnReserveCurrent","order":13.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-102","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ContractWithCustomerLiability","order":1.0},{"source":"us-gaap:ContractWithCustomerLiability","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:ContractWithCustomerLiability","target":"us-gaap:ContractWithCustomerLiabilityNoncurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-103","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:InventoryNet","order":1.0},{"source":"us-gaap:InventoryNet","target":"us-gaap:InventoryFinishedGoodsNetOfReserves","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:InventoryNet","target":"us-gaap:InventoryRawMaterialsNetOfReserves","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-104","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentNet","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentNet","target":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","order":1.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:PropertyPlantAndEquipmentNet","target":"us-gaap:PropertyPlantAndEquipmentGross","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-105","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","order":1.0},{"source":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","target":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-106","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:Assets","order":1.0},{"source":"xbrl:rootSource","target":"us-gaap:LiabilitiesAndStockholdersEquity","order":2.0},{"source":"us-gaap:Assets","target":"us-gaap:AssetsCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:CashAndCashEquivalentsAtCarryingValue","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquity","target":"us-gaap:Liabilities","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Liabilities","target":"us-gaap:LiabilitiesCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:AccountsPayableCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:PreferredStockValue","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:AccountsReceivableNetCurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:PropertyPlantAndEquipmentNet","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:AccruedLiabilitiesCurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Liabilities","target":"us-gaap:DeferredRevenueNoncurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquity","target":"us-gaap:StockholdersEquity","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:CommonStockValue","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:InventoryNet","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:Goodwill","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Liabilities","target":"us-gaap:OtherLiabilitiesNoncurrent","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:AdditionalPaidInCapitalCommonStock","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquity","target":"us-gaap:CommitmentsAndContingencies","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:OtherAssetsNoncurrent","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:LinesOfCreditCurrent","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:RestrictedCashCurrent","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:TreasuryStockValue","order":6.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-107","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","order":1.0},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation","order":1.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivities","target":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","order":1.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:ProfitLoss","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:NetCashProvidedByUsedInFinancingActivities","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"us-gaap:ProceedsFromStockOptionsExercised","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivities","target":"us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:Depreciation","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:NetCashProvidedByUsedInInvestingActivities","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivities","target":"us-gaap:PaymentsToAcquireMarketableSecurities","order":3.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:GainLossOnDispositionOfAssets","order":3.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"us-gaap:PaymentsOfDebtIssuanceCosts","order":4.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivities","target":"us-gaap:ProceedsFromSaleOfAvailableForSaleSecurities","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:NetCashProvidedByUsedInOperatingActivities","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:AmortizationOfIntangibleAssets","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"us-gaap:PaymentsForRepurchaseOfCommonStock","order":5.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivities","target":"calx:ProceedsFromSaleOfProductLine","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments","order":5.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"us-gaap:RepaymentsOfLinesOfCredit","order":6.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:ShareBasedCompensation","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"us-gaap:ProceedsFromLinesOfCredit","order":7.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccountsReceivable","order":7.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInInventories","order":8.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","order":9.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccountsPayable","order":10.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccruedLiabilities","order":11.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInDeferredRevenue","order":12.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","order":13.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"calx:GainLossOnSaleOfProductLine","order":14.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-108","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest","order":1.0},{"source":"xbrl:rootSource","target":"us-gaap:NonoperatingIncomeExpense","order":2.0},{"source":"us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest","target":"us-gaap:ProfitLoss","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:ProfitLoss","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","target":"us-gaap:InvestmentIncomeNet","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingIncomeLoss","target":"us-gaap:GrossProfit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:GrossProfit","target":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingExpenses","target":"us-gaap:ResearchAndDevelopmentExpense","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","target":"us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NonoperatingIncomeExpense","target":"us-gaap:InvestmentIncomeNet","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","target":"us-gaap:OtherNonoperatingIncomeExpense","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:GrossProfit","target":"us-gaap:CostOfGoodsAndServicesSold","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:OperatingIncomeLoss","target":"us-gaap:OperatingExpenses","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:OperatingExpenses","target":"us-gaap:SellingAndMarketingExpense","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:ProfitLoss","target":"us-gaap:IncomeTaxExpenseBenefit","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest","target":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","target":"us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NonoperatingIncomeExpense","target":"us-gaap:OtherNonoperatingIncomeExpense","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","target":"us-gaap:OperatingIncomeLoss","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingExpenses","target":"us-gaap:GeneralAndAdministrativeExpense","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingExpenses","target":"calx:OperatingExpensesAmortization","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingExpenses","target":"us-gaap:GainLossRelatedToLitigationSettlement","order":5.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:OperatingExpenses","target":"us-gaap:RestructuringCharges","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingExpenses","target":"us-gaap:GainLossOnDispositionOfAssets1","order":7.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-109","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DeferredTaxAssetsNet","order":1.0},{"source":"us-gaap:DeferredTaxAssetsNet","target":"us-gaap:DeferredTaxAssetsGross","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:TaxCreditCarryforwardAmount","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsNet","target":"us-gaap:DeferredTaxAssetsValuationAllowance","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsDeferredIncome","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsOther","order":7.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets","order":8.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-110","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxExpenseBenefit","order":1.0},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:CurrentIncomeTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CurrentIncomeTaxExpenseBenefit","target":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CurrentIncomeTaxExpenseBenefit","target":"us-gaap:CurrentForeignTaxExpenseBenefit","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-111","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","order":1.0},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch","order":4.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"calx:EffectiveIncomeTaxRateReconciliationForeignIncomeInclusionPercent","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther","order":7.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","order":8.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","order":9.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"calx:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017Percent","order":10.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"calx:EffectiveIncomeTaxRateReconciliationTopic606AdjustmentPercent","order":11.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-112","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","order":1.0},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]}],"groups":[{"name":"rpt:group-0","groupURI":"http://www.calix.com/role/AccumulatedOtherComprehensiveLoss"},{"name":"rpt:group-1","groupURI":"http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails"},{"name":"rpt:group-2","groupURI":"http://www.calix.com/role/AccumulatedOtherComprehensiveLossTables"},{"name":"rpt:group-3","groupURI":"http://www.calix.com/role/BalanceSheetDetails"},{"name":"rpt:group-4","groupURI":"http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails"},{"name":"rpt:group-5","groupURI":"http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails"},{"name":"rpt:group-6","groupURI":"http://www.calix.com/role/BalanceSheetDetailsAllowanceAndProductReturnReserveDetails"},{"name":"rpt:group-7","groupURI":"http://www.calix.com/role/BalanceSheetDetailsContractAssetAndLiabilityDetails"},{"name":"rpt:group-8","groupURI":"http://www.calix.com/role/BalanceSheetDetailsInventoryDetails"},{"name":"rpt:group-9","groupURI":"http://www.calix.com/role/BalanceSheetDetailsProductWarrantyActivityDetails"},{"name":"rpt:group-10","groupURI":"http://www.calix.com/role/BalanceSheetDetailsPropertyAndEquipmentNetDetails"},{"name":"rpt:group-11","groupURI":"http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails"},{"name":"rpt:group-12","groupURI":"http://www.calix.com/role/BalanceSheetDetailsTables"},{"name":"rpt:group-13","groupURI":"http://www.calix.com/role/CashAndCashEquivalents"},{"name":"rpt:group-14","groupURI":"http://www.calix.com/role/CashAndCashEquivalentsDetails"},{"name":"rpt:group-15","groupURI":"http://www.calix.com/role/CashAndCashEquivalentsTables"},{"name":"rpt:group-16","groupURI":"http://www.calix.com/role/CommitmentsAndContingencies"},{"name":"rpt:group-17","groupURI":"http://www.calix.com/role/CommitmentsAndContingenciesFutureMinimumPaymentsUnderOperatingLeasesDetails"},{"name":"rpt:group-18","groupURI":"http://www.calix.com/role/CommitmentsAndContingenciesTables"},{"name":"rpt:group-19","groupURI":"http://www.calix.com/role/CommitmentsAndContingenciesTextualDetails"},{"name":"rpt:group-20","groupURI":"http://www.calix.com/role/ConsolidatedBalanceSheets"},{"name":"rpt:group-21","groupURI":"http://www.calix.com/role/ConsolidatedBalanceSheetsParenthetical"},{"name":"rpt:group-22","groupURI":"http://www.calix.com/role/ConsolidatedStatementsOfCashFlows"},{"name":"rpt:group-23","groupURI":"http://www.calix.com/role/ConsolidatedStatementsOfComprehensiveLoss"},{"name":"rpt:group-24","groupURI":"http://www.calix.com/role/ConsolidatedStatementsOfComprehensiveLossParenthetical"},{"name":"rpt:group-25","groupURI":"http://www.calix.com/role/ConsolidatedStatementsOfStockholdersEquity"},{"name":"rpt:group-26","groupURI":"http://www.calix.com/role/CreditAgreements"},{"name":"rpt:group-27","groupURI":"http://www.calix.com/role/CreditAgreementsDetails"},{"name":"rpt:group-28","groupURI":"http://www.calix.com/role/DescriptionOfBusinessAndSignificantAccountingPolicies"},{"name":"rpt:group-29","groupURI":"http://www.calix.com/role/DescriptionOfBusinessAndSignificantAccountingPoliciesContractCostsDetails"},{"name":"rpt:group-30","groupURI":"http://www.calix.com/role/DescriptionOfBusinessAndSignificantAccountingPoliciesCustomerConcentrationRiskDetails"},{"name":"rpt:group-31","groupURI":"http://www.calix.com/role/DescriptionOfBusinessAndSignificantAccountingPoliciesPerformanceObligationsDetails"},{"name":"rpt:group-32","groupURI":"http://www.calix.com/role/DescriptionOfBusinessAndSignificantAccountingPoliciesPolicies"},{"name":"rpt:group-33","groupURI":"http://www.calix.com/role/DescriptionOfBusinessAndSignificantAccountingPoliciesRevenueDetails"},{"name":"rpt:group-34","groupURI":"http://www.calix.com/role/DescriptionOfBusinessAndSignificantAccountingPoliciesTables"},{"name":"rpt:group-35","groupURI":"http://www.calix.com/role/DescriptionOfBusinessAndSignificantAccountingPoliciesTextualDetail"},{"name":"rpt:group-36","groupURI":"http://www.calix.com/role/DescriptionOfBusinessAndSignificantAccountingPoliciesUsefulLivesOfPropertyAndEquipmentDetails"},{"name":"rpt:group-37","groupURI":"http://www.calix.com/role/DocumentAndEntityInformation"},{"name":"rpt:group-38","groupURI":"http://www.calix.com/role/EmployeeBenefitPlan"},{"name":"rpt:group-39","groupURI":"http://www.calix.com/role/EmployeeBenefitPlanDetails"},{"name":"rpt:group-40","groupURI":"http://www.calix.com/role/FairValueMeasurements"},{"name":"rpt:group-41","groupURI":"http://www.calix.com/role/FairValueMeasurementsDetails"},{"name":"rpt:group-42","groupURI":"http://www.calix.com/role/IncomeTaxes"},{"name":"rpt:group-43","groupURI":"http://www.calix.com/role/IncomeTaxesComponentsOfDeferredTaxAssetsAndLiabilitiesDetails"},{"name":"rpt:group-44","groupURI":"http://www.calix.com/role/IncomeTaxesComponentsOfIncomeTaxProvisionDetails"},{"name":"rpt:group-45","groupURI":"http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails"},{"name":"rpt:group-46","groupURI":"http://www.calix.com/role/IncomeTaxesLossBeforeProvisionForIncomeTaxesDetails"},{"name":"rpt:group-47","groupURI":"http://www.calix.com/role/IncomeTaxesTables"},{"name":"rpt:group-48","groupURI":"http://www.calix.com/role/IncomeTaxesTextualDetails"},{"name":"rpt:group-49","groupURI":"http://www.calix.com/role/IncomeTaxesUnrecognizedTaxBenefitsActivityDetails"},{"name":"rpt:group-50","groupURI":"http://www.calix.com/role/NetLossPerCommonShare"},{"name":"rpt:group-51","groupURI":"http://www.calix.com/role/NetLossPerCommonShareBasicAndDilutedSharesCalculationDetails"},{"name":"rpt:group-52","groupURI":"http://www.calix.com/role/NetLossPerCommonShareTables"},{"name":"rpt:group-53","groupURI":"http://www.calix.com/role/ProductLineDivestiture"},{"name":"rpt:group-54","groupURI":"http://www.calix.com/role/ProductLineDivestitureDetails"},{"name":"rpt:group-55","groupURI":"http://www.calix.com/role/QuarterlyFinancialDataunaudited"},{"name":"rpt:group-56","groupURI":"http://www.calix.com/role/QuarterlyFinancialDataunauditedDetails"},{"name":"rpt:group-57","groupURI":"http://www.calix.com/role/QuarterlyFinancialDataunauditedTables"},{"name":"rpt:group-58","groupURI":"http://www.calix.com/role/SegmentInformation"},{"name":"rpt:group-59","groupURI":"http://www.calix.com/role/SegmentInformationPropertyAndEquipmentByGeographicRegionDetails"},{"name":"rpt:group-60","groupURI":"http://www.calix.com/role/SegmentInformationRevenueByGeographicRegionDetails"},{"name":"rpt:group-61","groupURI":"http://www.calix.com/role/SegmentInformationTables"},{"name":"rpt:group-62","groupURI":"http://www.calix.com/role/StockholdersEquity"},{"name":"rpt:group-63","groupURI":"http://www.calix.com/role/StockholdersEquityAssumptionsDetails"},{"name":"rpt:group-64","groupURI":"http://www.calix.com/role/StockholdersEquityFairValueOfAwardsGrantedDetails"},{"name":"rpt:group-65","groupURI":"http://www.calix.com/role/StockholdersEquityRsuPrsuAndRsaActivitiesDetails"},{"name":"rpt:group-66","groupURI":"http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails"},{"name":"rpt:group-67","groupURI":"http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails"},{"name":"rpt:group-68","groupURI":"http://www.calix.com/role/StockholdersEquityTables"},{"name":"rpt:group-69","groupURI":"http://www.calix.com/role/StockholdersEquityTextualDetails"},{"name":"rpt:group-70","groupURI":"http://www.calix.com/role/StockholdersEquityUnrecognizedStockBasedCompensationExpensesDetails"},{"name":"rpt:group-71","groupURI":"http://www.calix.com/role/SubsequentEventSubsequentEvent"}],"groupContents":[{"groupName":"rpt:group-0","forObject":"rpt:network-presentation-28"},{"groupName":"rpt:group-1","forObject":"rpt:network-presentation-29"},{"groupName":"rpt:group-2","forObject":"rpt:network-presentation-30"},{"groupName":"rpt:group-3","forObject":"rpt:network-presentation-31"},{"groupName":"rpt:group-4","forObject":"rpt:network-presentation-32"},{"groupName":"rpt:group-5","forObject":"rpt:network-presentation-33"},{"groupName":"rpt:group-6","forObject":"rpt:network-presentation-34"},{"groupName":"rpt:group-7","forObject":"rpt:network-presentation-35"},{"groupName":"rpt:group-8","forObject":"rpt:network-presentation-36"},{"groupName":"rpt:group-9","forObject":"rpt:network-presentation-37"},{"groupName":"rpt:group-10","forObject":"rpt:network-presentation-38"},{"groupName":"rpt:group-11","forObject":"rpt:network-presentation-39"},{"groupName":"rpt:group-12","forObject":"rpt:network-presentation-40"},{"groupName":"rpt:group-13","forObject":"rpt:network-presentation-41"},{"groupName":"rpt:group-14","forObject":"rpt:network-presentation-42"},{"groupName":"rpt:group-15","forObject":"rpt:network-presentation-43"},{"groupName":"rpt:group-16","forObject":"rpt:network-presentation-44"},{"groupName":"rpt:group-17","forObject":"rpt:network-presentation-45"},{"groupName":"rpt:group-18","forObject":"rpt:network-presentation-46"},{"groupName":"rpt:group-19","forObject":"rpt:network-presentation-47"},{"groupName":"rpt:group-20","forObject":"rpt:network-presentation-48"},{"groupName":"rpt:group-21","forObject":"rpt:network-presentation-49"},{"groupName":"rpt:group-22","forObject":"rpt:network-presentation-50"},{"groupName":"rpt:group-23","forObject":"rpt:network-presentation-51"},{"groupName":"rpt:group-24","forObject":"rpt:network-presentation-52"},{"groupName":"rpt:group-25","forObject":"rpt:network-presentation-53"},{"groupName":"rpt:group-26","forObject":"rpt:network-presentation-54"},{"groupName":"rpt:group-27","forObject":"rpt:network-presentation-55"},{"groupName":"rpt:group-28","forObject":"rpt:network-presentation-56"},{"groupName":"rpt:group-29","forObject":"rpt:network-presentation-57"},{"groupName":"rpt:group-30","forObject":"rpt:network-presentation-58"},{"groupName":"rpt:group-31","forObject":"rpt:network-presentation-59"},{"groupName":"rpt:group-32","forObject":"rpt:network-presentation-60"},{"groupName":"rpt:group-33","forObject":"rpt:network-presentation-61"},{"groupName":"rpt:group-34","forObject":"rpt:network-presentation-62"},{"groupName":"rpt:group-35","forObject":"rpt:network-presentation-63"},{"groupName":"rpt:group-36","forObject":"rpt:network-presentation-64"},{"groupName":"rpt:group-37","forObject":"rpt:network-presentation-65"},{"groupName":"rpt:group-38","forObject":"rpt:network-presentation-66"},{"groupName":"rpt:group-39","forObject":"rpt:network-presentation-67"},{"groupName":"rpt:group-40","forObject":"rpt:network-presentation-68"},{"groupName":"rpt:group-41","forObject":"rpt:network-presentation-69"},{"groupName":"rpt:group-42","forObject":"rpt:network-presentation-70"},{"groupName":"rpt:group-43","forObject":"rpt:network-presentation-71"},{"groupName":"rpt:group-44","forObject":"rpt:network-presentation-72"},{"groupName":"rpt:group-45","forObject":"rpt:network-presentation-73"},{"groupName":"rpt:group-46","forObject":"rpt:network-presentation-74"},{"groupName":"rpt:group-47","forObject":"rpt:network-presentation-75"},{"groupName":"rpt:group-48","forObject":"rpt:network-presentation-76"},{"groupName":"rpt:group-49","forObject":"rpt:network-presentation-77"},{"groupName":"rpt:group-50","forObject":"rpt:network-presentation-78"},{"groupName":"rpt:group-51","forObject":"rpt:network-presentation-79"},{"groupName":"rpt:group-52","forObject":"rpt:network-presentation-80"},{"groupName":"rpt:group-53","forObject":"rpt:network-presentation-81"},{"groupName":"rpt:group-54","forObject":"rpt:network-presentation-82"},{"groupName":"rpt:group-55","forObject":"rpt:network-presentation-83"},{"groupName":"rpt:group-56","forObject":"rpt:network-presentation-84"},{"groupName":"rpt:group-57","forObject":"rpt:network-presentation-85"},{"groupName":"rpt:group-58","forObject":"rpt:network-presentation-86"},{"groupName":"rpt:group-59","forObject":"rpt:network-presentation-87"},{"groupName":"rpt:group-60","forObject":"rpt:network-presentation-88"},{"groupName":"rpt:group-61","forObject":"rpt:network-presentation-89"},{"groupName":"rpt:group-62","forObject":"rpt:network-presentation-90"},{"groupName":"rpt:group-63","forObject":"rpt:network-presentation-91"},{"groupName":"rpt:group-64","forObject":"rpt:network-presentation-92"},{"groupName":"rpt:group-65","forObject":"rpt:network-presentation-93"},{"groupName":"rpt:group-66","forObject":"rpt:network-presentation-94"},{"groupName":"rpt:group-67","forObject":"rpt:network-presentation-95"},{"groupName":"rpt:group-68","forObject":"rpt:network-presentation-96"},{"groupName":"rpt:group-69","forObject":"rpt:network-presentation-97"},{"groupName":"rpt:group-70","forObject":"rpt:network-presentation-98"},{"groupName":"rpt:group-71","forObject":"rpt:network-presentation-99"},{"groupName":"rpt:group-4","forObject":"rpt:network-calculation-100"},{"groupName":"rpt:group-5","forObject":"rpt:network-calculation-101"},{"groupName":"rpt:group-7","forObject":"rpt:network-calculation-102"},{"groupName":"rpt:group-8","forObject":"rpt:network-calculation-103"},{"groupName":"rpt:group-10","forObject":"rpt:network-calculation-104"},{"groupName":"rpt:group-17","forObject":"rpt:network-calculation-105"},{"groupName":"rpt:group-20","forObject":"rpt:network-calculation-106"},{"groupName":"rpt:group-22","forObject":"rpt:network-calculation-107"},{"groupName":"rpt:group-23","forObject":"rpt:network-calculation-108"},{"groupName":"rpt:group-43","forObject":"rpt:network-calculation-109"},{"groupName":"rpt:group-44","forObject":"rpt:network-calculation-110"},{"groupName":"rpt:group-45","forObject":"rpt:network-calculation-111"},{"groupName":"rpt:group-46","forObject":"rpt:network-calculation-112"},{"groupName":"rpt:group-1","forObject":"rpt:cube-0"},{"groupName":"rpt:group-6","forObject":"rpt:cube-1"},{"groupName":"rpt:group-7","forObject":"rpt:cube-2"},{"groupName":"rpt:group-10","forObject":"rpt:cube-3"},{"groupName":"rpt:group-11","forObject":"rpt:cube-4"},{"groupName":"rpt:group-14","forObject":"rpt:cube-5"},{"groupName":"rpt:group-19","forObject":"rpt:cube-6"},{"groupName":"rpt:group-23","forObject":"rpt:cube-7"},{"groupName":"rpt:group-24","forObject":"rpt:cube-8"},{"groupName":"rpt:group-25","forObject":"rpt:cube-9"},{"groupName":"rpt:group-27","forObject":"rpt:cube-10"},{"groupName":"rpt:group-29","forObject":"rpt:cube-11"},{"groupName":"rpt:group-30","forObject":"rpt:cube-12"},{"groupName":"rpt:group-31","forObject":"rpt:cube-13"},{"groupName":"rpt:group-33","forObject":"rpt:cube-14"},{"groupName":"rpt:group-35","forObject":"rpt:cube-15"},{"groupName":"rpt:group-36","forObject":"rpt:cube-16"},{"groupName":"rpt:group-41","forObject":"rpt:cube-17"},{"groupName":"rpt:group-48","forObject":"rpt:cube-18"},{"groupName":"rpt:group-54","forObject":"rpt:cube-19"},{"groupName":"rpt:group-59","forObject":"rpt:cube-20"},{"groupName":"rpt:group-60","forObject":"rpt:cube-21"},{"groupName":"rpt:group-63","forObject":"rpt:cube-22"},{"groupName":"rpt:group-64","forObject":"rpt:cube-23"},{"groupName":"rpt:group-65","forObject":"rpt:cube-24"},{"groupName":"rpt:group-66","forObject":"rpt:cube-25"},{"groupName":"rpt:group-69","forObject":"rpt:cube-26"},{"groupName":"rpt:group-70","forObject":"rpt:cube-27"}],"facts":[{"name":"rpt:f-0","factDimensions":{"xbrl:concept":"calx:AccruedBusinessTravelExpense","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1272000","decimals":-3}]},{"name":"rpt:f-1","factDimensions":{"xbrl:concept":"calx:AccruedBusinessTravelExpense","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1696000","decimals":-3}]},{"name":"rpt:f-2","factDimensions":{"xbrl:concept":"calx:AccruedCustomerRebates","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1432000","decimals":-3}]},{"name":"rpt:f-3","factDimensions":{"xbrl:concept":"calx:AccruedCustomerRebates","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6103000","decimals":-3}]},{"name":"rpt:f-4","factDimensions":{"xbrl:concept":"calx:AccruedEquipmentFinancingArrangementsCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-5","factDimensions":{"xbrl:concept":"calx:AccruedEquipmentFinancingArrangementsCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1778000","decimals":-3}]},{"name":"rpt:f-6","factDimensions":{"xbrl:concept":"calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2430000","decimals":-3}]},{"name":"rpt:f-7","factDimensions":{"xbrl:concept":"calx:AccruedExcessAndObsoleteInventoryAtContractManufacturer","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2667000","decimals":-3}]},{"name":"rpt:f-8","factDimensions":{"xbrl:concept":"calx:AccruedFreight","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"593000","decimals":-3}]},{"name":"rpt:f-9","factDimensions":{"xbrl:concept":"calx:AccruedFreight","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1187000","decimals":-3}]},{"name":"rpt:f-10","factDimensions":{"xbrl:concept":"calx:ChangeInCapitalExpendituresIncurredButNotYetPaid","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-478000","decimals":-3}]},{"name":"rpt:f-11","factDimensions":{"xbrl:concept":"calx:ChangeInCapitalExpendituresIncurredButNotYetPaid","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-55000","decimals":-3}]},{"name":"rpt:f-12","factDimensions":{"xbrl:concept":"calx:ChangeInCapitalExpendituresIncurredButNotYetPaid","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8459000","decimals":-3}]},{"name":"rpt:f-13","factDimensions":{"xbrl:concept":"calx:ContractualTermStockOptions","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-14","factDimensions":{"xbrl:concept":"calx:ContractualTermStockOptions","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PlanNameAxis":"calx:PriorPlansMember"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-15","factDimensions":{"xbrl:concept":"calx:ContractwithCustomerAssetPriorPeriodNotRecognized","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"200000","decimals":-5}]},{"name":"rpt:f-16","factDimensions":{"xbrl:concept":"calx:DisposalGroupPeriodOfNewOrdersSolicitation","xbrl:period":"2018-02-01T00:00:00/2018-03-01T00:00:00","xbrl:entity":"cik:0001406666","srt:CounterpartyNameAxis":"calx:ClearfieldInc.Member","us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis":"calx:OutdoorCabinetProductLineMember"},"factValues":[{"value":"P15M"}]},{"name":"rpt:f-17","factDimensions":{"xbrl:concept":"calx:EffectiveIncomeTaxRateReconciliationForeignIncomeInclusionPercent","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.007","decimals":3}]},{"name":"rpt:f-18","factDimensions":{"xbrl:concept":"calx:EffectiveIncomeTaxRateReconciliationForeignIncomeInclusionPercent","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.001","decimals":3}]},{"name":"rpt:f-19","factDimensions":{"xbrl:concept":"calx:EffectiveIncomeTaxRateReconciliationForeignIncomeInclusionPercent","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.012","decimals":3}]},{"name":"rpt:f-20","factDimensions":{"xbrl:concept":"calx:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017Percent","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.000","decimals":3}]},{"name":"rpt:f-21","factDimensions":{"xbrl:concept":"calx:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017Percent","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-1.046","decimals":3}]},{"name":"rpt:f-22","factDimensions":{"xbrl:concept":"calx:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017Percent","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.000","decimals":3}]},{"name":"rpt:f-23","factDimensions":{"xbrl:concept":"calx:EffectiveIncomeTaxRateReconciliationTopic606AdjustmentPercent","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.000","decimals":3}]},{"name":"rpt:f-24","factDimensions":{"xbrl:concept":"calx:EffectiveIncomeTaxRateReconciliationTopic606AdjustmentPercent","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.000","decimals":3}]},{"name":"rpt:f-25","factDimensions":{"xbrl:concept":"calx:EffectiveIncomeTaxRateReconciliationTopic606AdjustmentPercent","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.020","decimals":3}]},{"name":"rpt:f-26","factDimensions":{"xbrl:concept":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearFour","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"100000","decimals":-5}]},{"name":"rpt:f-27","factDimensions":{"xbrl:concept":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearThree","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"600000","decimals":-5}]},{"name":"rpt:f-28","factDimensions":{"xbrl:concept":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearTwo","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000000","decimals":-5}]},{"name":"rpt:f-29","factDimensions":{"xbrl:concept":"calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedNextTwelveMonth","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8600000","decimals":-5}]},{"name":"rpt:f-30","factDimensions":{"xbrl:concept":"calx:GainLossOnSaleOfProductLine","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-31","factDimensions":{"xbrl:concept":"calx:GainLossOnSaleOfProductLine","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-32","factDimensions":{"xbrl:concept":"calx:GainLossOnSaleOfProductLine","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6704000","decimals":-3}]},{"name":"rpt:f-33","factDimensions":{"xbrl:concept":"calx:MaximumSharesAllowedToBeIssued","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"calx:IncentiveStockOptionMember","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"17150494"}]},{"name":"rpt:f-34","factDimensions":{"xbrl:concept":"calx:MinimumExercisePriceOfStockOptionPercent","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","calx:StockOptionByTypeAxis":"calx:IncentiveStockOptionMember","us-gaap:PlanNameAxis":"calx:PriorPlansMember"},"factValues":[{"value":"1.00","decimals":2}]},{"name":"rpt:f-35","factDimensions":{"xbrl:concept":"calx:MinimumExercisePriceOfStockOptionPercent","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"1.00","decimals":2}]},{"name":"rpt:f-36","factDimensions":{"xbrl:concept":"calx:NumberOfEquityIncentivePlans","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"calx:Plan"},"factValues":[{"value":"2"}]},{"name":"rpt:f-37","factDimensions":{"xbrl:concept":"calx:OperatingExpensesAmortization","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1701000","decimals":-3}]},{"name":"rpt:f-38","factDimensions":{"xbrl:concept":"calx:OperatingExpensesAmortization","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-39","factDimensions":{"xbrl:concept":"calx:OperatingExpensesAmortization","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-40","factDimensions":{"xbrl:concept":"calx:OperatingLeaseAreaOfOffice","xbrl:period":"2018-04-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"utreg:sqft","srt:StatementGeographicalAxis":"calx:SanJoseCaliforniaMember"},"factValues":[{"value":"65000","decimals":-3}]},{"name":"rpt:f-41","factDimensions":{"xbrl:concept":"calx:OperatingLeaseAreaOfOffice","xbrl:period":"2018-09-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"utreg:sqft","srt:StatementGeographicalAxis":"calx:PetalumaCAMember"},"factValues":[{"value":"22000","decimals":-3}]},{"name":"rpt:f-42","factDimensions":{"xbrl:concept":"calx:PercentOfHistoricalVolatility","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.50","decimals":2}]},{"name":"rpt:f-43","factDimensions":{"xbrl:concept":"calx:PercentOfImpliedVolatility","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.50","decimals":2}]},{"name":"rpt:f-44","factDimensions":{"xbrl:concept":"calx:ProceedsFromSaleOfProductLine","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-45","factDimensions":{"xbrl:concept":"calx:ProceedsFromSaleOfProductLine","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-46","factDimensions":{"xbrl:concept":"calx:ProceedsFromSaleOfProductLine","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10350000","decimals":-3}]},{"name":"rpt:f-47","factDimensions":{"xbrl:concept":"calx:ProductReturnReserve","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"822000","decimals":-3}]},{"name":"rpt:f-48","factDimensions":{"xbrl:concept":"calx:ProductReturnReserve","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-49","factDimensions":{"xbrl:concept":"calx:ProductReturnReserveCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-50","factDimensions":{"xbrl:concept":"calx:ProductReturnReserveCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"880000","decimals":-3}]},{"name":"rpt:f-51","factDimensions":{"xbrl:concept":"calx:ProductWarrantyPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-52","factDimensions":{"xbrl:concept":"calx:ProductWarrantyPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-53","factDimensions":{"xbrl:concept":"calx:ProductWarrantyPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"P1Y"}]},{"name":"rpt:f-54","factDimensions":{"xbrl:concept":"calx:PurchaseObligationTerm","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"calx:ResearchAndDevelopmentEquipmentMember"},"factValues":[{"value":"P36M"}]},{"name":"rpt:f-55","factDimensions":{"xbrl:concept":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriodSubsequentPeriod","xbrl:period":"2016-02-01T00:00:00/2016-03-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"P2Y"}]},{"name":"rpt:f-56","factDimensions":{"xbrl:concept":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriodSubsequentPeriod","xbrl:period":"2017-12-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"calx:PerformanceBasedStockOptionsMember","us-gaap:TitleOfIndividualAxis":"us-gaap:ExecutiveOfficerMember"},"factValues":[{"value":"P2Y"}]},{"name":"rpt:f-57","factDimensions":{"xbrl:concept":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriodSubsequentPeriod","xbrl:period":"2017-08-01T00:00:00/2017-09-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"calx:PerformanceBasedStockOptionsMember","us-gaap:TitleOfIndividualAxis":"us-gaap:ExecutiveOfficerMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-58","factDimensions":{"xbrl:concept":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingAnniversaryPeriod","xbrl:period":"2017-10-01T00:00:00/2017-11-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember","us-gaap:PlanNameAxis":"calx:InducementAwardMember","us-gaap:TitleOfIndividualAxis":"us-gaap:ChiefFinancialOfficerMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheOneMember"},"factValues":[{"value":"P1Y"}]},{"name":"rpt:f-59","factDimensions":{"xbrl:concept":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumAnnualNumberOfSharesReserved","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"calx:IncentiveStockOptionMember","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"666666"}]},{"name":"rpt:f-60","factDimensions":{"xbrl:concept":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"calx:IncentiveStockOptionMember","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"0.02"}]},{"name":"rpt:f-61","factDimensions":{"xbrl:concept":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent","xbrl:period":"2017-05-18T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"0.25"}]},{"name":"rpt:f-62","factDimensions":{"xbrl:concept":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"500000"}]},{"name":"rpt:f-63","factDimensions":{"xbrl:concept":"calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceofCommonStockNumberOfOfferingPeriods","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"calx:period","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"2"}]},{"name":"rpt:f-64","factDimensions":{"xbrl:concept":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConvertedintoCommonStock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"1"}]},{"name":"rpt:f-65","factDimensions":{"xbrl:concept":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsOutstandingIntrinsicValueAmountPerShare","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"9.75","decimals":2}]},{"name":"rpt:f-66","factDimensions":{"xbrl:concept":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"P6M"}]},{"name":"rpt:f-67","factDimensions":{"xbrl:concept":"calx:SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"P6M"}]},{"name":"rpt:f-68","factDimensions":{"xbrl:concept":"calx:StockIssuedDuringPeriodSharesPerformanceRestrictedStockAwardNetofForfeitures","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"659000","decimals":-3}]},{"name":"rpt:f-69","factDimensions":{"xbrl:concept":"calx:StockIssuedDuringPeriodSharesPerformanceRestrictedStockAwardNetofForfeitures","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"994000","decimals":-3}]},{"name":"rpt:f-70","factDimensions":{"xbrl:concept":"calx:StockIssuedDuringPeriodSharesPerformanceRestrictedStockAwardNetofForfeitures","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"913000","decimals":-3}]},{"name":"rpt:f-71","factDimensions":{"xbrl:concept":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2101000","decimals":-3}]},{"name":"rpt:f-72","factDimensions":{"xbrl:concept":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"-2118000","decimals":-3}]},{"name":"rpt:f-73","factDimensions":{"xbrl:concept":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"17000","decimals":-3}]},{"name":"rpt:f-74","factDimensions":{"xbrl:concept":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2764000","decimals":-3}]},{"name":"rpt:f-75","factDimensions":{"xbrl:concept":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"-2788000","decimals":-3}]},{"name":"rpt:f-76","factDimensions":{"xbrl:concept":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"24000","decimals":-3}]},{"name":"rpt:f-77","factDimensions":{"xbrl:concept":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-74000","decimals":-3}]},{"name":"rpt:f-78","factDimensions":{"xbrl:concept":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"-96000","decimals":-3}]},{"name":"rpt:f-79","factDimensions":{"xbrl:concept":"calx:StockIssuedDuringPeriodValuePerformanceRestrictedStockAwardNetofForfeitures","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"22000","decimals":-3}]},{"name":"rpt:f-80","factDimensions":{"xbrl:concept":"calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1778000","decimals":-3}]},{"name":"rpt:f-81","factDimensions":{"xbrl:concept":"calx:TaxesPayableCurrentExcludingAccruedIncomeTaxes","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1288000","decimals":-3}]},{"name":"rpt:f-82","factDimensions":{"xbrl:concept":"dei:AmendmentFlag","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"false"}]},{"name":"rpt:f-83","factDimensions":{"xbrl:concept":"dei:CurrentFiscalYearEndDate","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"--12-31"}]},{"name":"rpt:f-84","factDimensions":{"xbrl:concept":"dei:DocumentFiscalPeriodFocus","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"FY"}]},{"name":"rpt:f-85","factDimensions":{"xbrl:concept":"dei:DocumentFiscalYearFocus","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"2018"}]},{"name":"rpt:f-86","factDimensions":{"xbrl:concept":"dei:DocumentPeriodEndDate","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"2018-12-31"}]},{"name":"rpt:f-87","factDimensions":{"xbrl:concept":"dei:DocumentType","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"10-K"}]},{"name":"rpt:f-88","factDimensions":{"xbrl:concept":"dei:EntityCentralIndexKey","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0001406666"}]},{"name":"rpt:f-89","factDimensions":{"xbrl:concept":"dei:EntityCommonStockSharesOutstanding","xbrl:period":"2019-02-26T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"54040657"}]},{"name":"rpt:f-90","factDimensions":{"xbrl:concept":"dei:EntityCurrentReportingStatus","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"Yes"}]},{"name":"rpt:f-91","factDimensions":{"xbrl:concept":"dei:EntityEmergingGrowthCompany","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"false"}]},{"name":"rpt:f-92","factDimensions":{"xbrl:concept":"dei:EntityFilerCategory","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"Accelerated Filer"}]},{"name":"rpt:f-93","factDimensions":{"xbrl:concept":"dei:EntityPublicFloat","xbrl:period":"2018-06-30T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"346000000","decimals":-6}]},{"name":"rpt:f-94","factDimensions":{"xbrl:concept":"dei:EntityRegistrantName","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"CALIX, INC"}]},{"name":"rpt:f-95","factDimensions":{"xbrl:concept":"dei:EntityShellCompany","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"false"}]},{"name":"rpt:f-96","factDimensions":{"xbrl:concept":"dei:EntitySmallBusiness","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"false"}]},{"name":"rpt:f-97","factDimensions":{"xbrl:concept":"dei:EntityVoluntaryFilers","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"No"}]},{"name":"rpt:f-98","factDimensions":{"xbrl:concept":"dei:EntityWellKnownSeasonedIssuer","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"No"}]},{"name":"rpt:f-99","factDimensions":{"xbrl:concept":"dei:TradingSymbol","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"calx"}]},{"name":"rpt:f-100","factDimensions":{"xbrl:concept":"us-gaap:AccountsPayableCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"35977000","decimals":-3}]},{"name":"rpt:f-101","factDimensions":{"xbrl:concept":"us-gaap:AccountsPayableCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"40209000","decimals":-3}]},{"name":"rpt:f-102","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGrossCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"81793000","decimals":-3}]},{"name":"rpt:f-103","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGrossCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"67396000","decimals":-3}]},{"name":"rpt:f-104","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"80392000","decimals":-3}]},{"name":"rpt:f-105","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"80392000","decimals":-3}]},{"name":"rpt:f-106","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"67026000","decimals":-3}]},{"name":"rpt:f-107","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-1095000","decimals":-3}]},{"name":"rpt:f-108","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"65931000","decimals":-3}]},{"name":"rpt:f-109","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"80883000","decimals":-3}]},{"name":"rpt:f-110","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"491000","decimals":-3}]},{"name":"rpt:f-111","factDimensions":{"xbrl:concept":"us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-382000","decimals":-3}]},{"name":"rpt:f-112","factDimensions":{"xbrl:concept":"us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6000","decimals":-3}]},{"name":"rpt:f-113","factDimensions":{"xbrl:concept":"us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-114","factDimensions":{"xbrl:concept":"us-gaap:AccruedInsuranceCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"827000","decimals":-3}]},{"name":"rpt:f-115","factDimensions":{"xbrl:concept":"us-gaap:AccruedInsuranceCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"917000","decimals":-3}]},{"name":"rpt:f-116","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"49279000","decimals":-3}]},{"name":"rpt:f-117","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"57869000","decimals":-3}]},{"name":"rpt:f-118","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-880000","decimals":-3}]},{"name":"rpt:f-119","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"56989000","decimals":-3}]},{"name":"rpt:f-120","factDimensions":{"xbrl:concept":"us-gaap:AccruedProfessionalFeesCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9604000","decimals":-3}]},{"name":"rpt:f-121","factDimensions":{"xbrl:concept":"us-gaap:AccruedProfessionalFeesCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6060000","decimals":-3}]},{"name":"rpt:f-122","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"65189000","decimals":-3}]},{"name":"rpt:f-123","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"54435000","decimals":-3}]},{"name":"rpt:f-124","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-169000","decimals":-3}]},{"name":"rpt:f-125","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-753000","decimals":-3}]},{"name":"rpt:f-126","factDimensions":{"xbrl:concept":"us-gaap:AdditionalPaidInCapitalCommonStock","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"851054000","decimals":-3}]},{"name":"rpt:f-127","factDimensions":{"xbrl:concept":"us-gaap:AdditionalPaidInCapitalCommonStock","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"876073000","decimals":-3}]},{"name":"rpt:f-128","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14285000","decimals":-3}]},{"name":"rpt:f-129","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"14285000","decimals":-3}]},{"name":"rpt:f-130","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12368000","decimals":-3}]},{"name":"rpt:f-131","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"12368000","decimals":-3}]},{"name":"rpt:f-132","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17473000","decimals":-3}]},{"name":"rpt:f-133","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"17473000","decimals":-3}]},{"name":"rpt:f-134","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14300000","decimals":-5}]},{"name":"rpt:f-135","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"calx:CostOfRevenueServicesMember"},"factValues":[{"value":"207000","decimals":-3}]},{"name":"rpt:f-136","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"calx:CostOfRevenueSystemsMember"},"factValues":[{"value":"465000","decimals":-3}]},{"name":"rpt:f-137","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:GeneralAndAdministrativeExpenseMember"},"factValues":[{"value":"3902000","decimals":-3}]},{"name":"rpt:f-138","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember"},"factValues":[{"value":"5125000","decimals":-3}]},{"name":"rpt:f-139","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:SellingAndMarketingExpenseMember"},"factValues":[{"value":"4586000","decimals":-3}]},{"name":"rpt:f-140","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12400000","decimals":-5}]},{"name":"rpt:f-141","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"calx:CostOfRevenueServicesMember"},"factValues":[{"value":"276000","decimals":-3}]},{"name":"rpt:f-142","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"calx:CostOfRevenueSystemsMember"},"factValues":[{"value":"473000","decimals":-3}]},{"name":"rpt:f-143","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:GeneralAndAdministrativeExpenseMember"},"factValues":[{"value":"3317000","decimals":-3}]},{"name":"rpt:f-144","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember"},"factValues":[{"value":"4869000","decimals":-3}]},{"name":"rpt:f-145","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:SellingAndMarketingExpenseMember"},"factValues":[{"value":"3433000","decimals":-3}]},{"name":"rpt:f-146","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2018-09-30T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"6900000","decimals":-5}]},{"name":"rpt:f-147","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17500000","decimals":-5}]},{"name":"rpt:f-148","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"calx:CostOfRevenueServicesMember"},"factValues":[{"value":"363000","decimals":-3}]},{"name":"rpt:f-149","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"calx:CostOfRevenueSystemsMember"},"factValues":[{"value":"885000","decimals":-3}]},{"name":"rpt:f-150","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:GeneralAndAdministrativeExpenseMember"},"factValues":[{"value":"4469000","decimals":-3}]},{"name":"rpt:f-151","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember"},"factValues":[{"value":"5969000","decimals":-3}]},{"name":"rpt:f-152","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:SellingAndMarketingExpenseMember"},"factValues":[{"value":"5787000","decimals":-3}]},{"name":"rpt:f-153","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"579000","decimals":-3}]},{"name":"rpt:f-154","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"370000","decimals":-3}]},{"name":"rpt:f-155","factDimensions":{"xbrl:concept":"us-gaap:AmortizationOfIntangibleAssets","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5805000","decimals":-3}]},{"name":"rpt:f-156","factDimensions":{"xbrl:concept":"us-gaap:AmortizationOfIntangibleAssets","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"813000","decimals":-3}]},{"name":"rpt:f-157","factDimensions":{"xbrl:concept":"us-gaap:AmortizationOfIntangibleAssets","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-158","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"5890000","decimals":-3}]},{"name":"rpt:f-159","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"3446000","decimals":-3}]},{"name":"rpt:f-160","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"5833000","decimals":-3}]},{"name":"rpt:f-161","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"295070000","decimals":-3}]},{"name":"rpt:f-162","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"295070000","decimals":-3}]},{"name":"rpt:f-163","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"317080000","decimals":-3}]},{"name":"rpt:f-164","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-709000","decimals":-3}]},{"name":"rpt:f-165","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"316371000","decimals":-3}]},{"name":"rpt:f-166","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"296014000","decimals":-3}]},{"name":"rpt:f-167","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"944000","decimals":-3}]},{"name":"rpt:f-168","factDimensions":{"xbrl:concept":"us-gaap:AssetsCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"162455000","decimals":-3}]},{"name":"rpt:f-169","factDimensions":{"xbrl:concept":"us-gaap:AssetsCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"174757000","decimals":-3}]},{"name":"rpt:f-170","factDimensions":{"xbrl:concept":"us-gaap:CapitalizedContractCostAmortization","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"100000","decimals":-5}]},{"name":"rpt:f-171","factDimensions":{"xbrl:concept":"us-gaap:CapitalizedContractCostAmortizationPeriod","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-172","factDimensions":{"xbrl:concept":"us-gaap:CapitalizedContractCostAmortizationPeriod","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-173","factDimensions":{"xbrl:concept":"us-gaap:CapitalizedContractCostGross","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"800000","decimals":-5}]},{"name":"rpt:f-174","factDimensions":{"xbrl:concept":"us-gaap:CapitalizedContractCostGross","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"calx:AccountingStandardsUpdate201815Member"},"factValues":[{"value":"1200000","decimals":-5}]},{"name":"rpt:f-175","factDimensions":{"xbrl:concept":"us-gaap:CapitalizedContractCostImpairmentLoss","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-176","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsAtCarryingValue","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"39775000","decimals":-3}]},{"name":"rpt:f-177","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsAtCarryingValue","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:CashAndCashEquivalentsAxis":"us-gaap:CashMember"},"factValues":[{"value":"35999000","decimals":-3}]},{"name":"rpt:f-178","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsAtCarryingValue","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:CashAndCashEquivalentsAxis":"us-gaap:MoneyMarketFundsMember"},"factValues":[{"value":"3776000","decimals":-3}]},{"name":"rpt:f-179","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsAtCarryingValue","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"49646000","decimals":-3}]},{"name":"rpt:f-180","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsAtCarryingValue","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:CashAndCashEquivalentsAxis":"us-gaap:CashMember"},"factValues":[{"value":"45806000","decimals":-3}]},{"name":"rpt:f-181","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsAtCarryingValue","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:CashAndCashEquivalentsAxis":"us-gaap:MoneyMarketFundsMember"},"factValues":[{"value":"3840000","decimals":-3}]},{"name":"rpt:f-182","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsFairValueDisclosure","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:CashAndCashEquivalentsAxis":"us-gaap:MoneyMarketFundsMember","us-gaap:FairValueByFairValueHierarchyLevelAxis":"us-gaap:FairValueInputsLevel1Member"},"factValues":[{"value":"3800000","decimals":-5}]},{"name":"rpt:f-183","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsFairValueDisclosure","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:CashAndCashEquivalentsAxis":"us-gaap:MoneyMarketFundsMember","us-gaap:FairValueByFairValueHierarchyLevelAxis":"us-gaap:FairValueInputsLevel1Member"},"factValues":[{"value":"3800000","decimals":-5}]},{"name":"rpt:f-184","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2016-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"23626000","decimals":-3}]},{"name":"rpt:f-185","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"50359000","decimals":-3}]},{"name":"rpt:f-186","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"39775000","decimals":-3}]},{"name":"rpt:f-187","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"50274000","decimals":-3}]},{"name":"rpt:f-188","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"26733000","decimals":-3}]},{"name":"rpt:f-189","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-10584000","decimals":-3}]},{"name":"rpt:f-190","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10499000","decimals":-3}]},{"name":"rpt:f-191","factDimensions":{"xbrl:concept":"us-gaap:CommitmentsAndContingencies","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"}},{"name":"rpt:f-192","factDimensions":{"xbrl:concept":"us-gaap:CommitmentsAndContingencies","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"}},{"name":"rpt:f-193","factDimensions":{"xbrl:concept":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"10920000","decimals":-3}]},{"name":"rpt:f-194","factDimensions":{"xbrl:concept":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"2456000","decimals":-3}]},{"name":"rpt:f-195","factDimensions":{"xbrl:concept":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"551000","decimals":-3}]},{"name":"rpt:f-196","factDimensions":{"xbrl:concept":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"11913000","decimals":-3}]},{"name":"rpt:f-197","factDimensions":{"xbrl:concept":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"1550000","decimals":-3}]},{"name":"rpt:f-198","factDimensions":{"xbrl:concept":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"1500000","decimals":-5}]},{"name":"rpt:f-199","factDimensions":{"xbrl:concept":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"2764000","decimals":-3}]},{"name":"rpt:f-200","factDimensions":{"xbrl:concept":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"4666666"}]},{"name":"rpt:f-201","factDimensions":{"xbrl:concept":"us-gaap:CommonStockCapitalSharesReservedForFutureIssuance","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"2800000","decimals":-5}]},{"name":"rpt:f-202","factDimensions":{"xbrl:concept":"us-gaap:CommonStockConversionBasis","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"Each RSU granted under the 2010 Plan represents a right to receive one share of the Company\u2019s common stock (subject to adjustment for certain specified changes in the capital structure of the Company) upon the completion of a specific period of continued service."}]},{"name":"rpt:f-203","factDimensions":{"xbrl:concept":"us-gaap:CommonStockDividendsPerShareDeclared","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0"}]},{"name":"rpt:f-204","factDimensions":{"xbrl:concept":"us-gaap:CommonStockParOrStatedValuePerShare","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.025"}]},{"name":"rpt:f-205","factDimensions":{"xbrl:concept":"us-gaap:CommonStockParOrStatedValuePerShare","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.025"}]},{"name":"rpt:f-206","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesAuthorized","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"100000000"}]},{"name":"rpt:f-207","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesAuthorized","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"100000000"}]},{"name":"rpt:f-208","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesIssued","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"56839000","decimals":-3}]},{"name":"rpt:f-209","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesIssued","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"59285000","decimals":-3}]},{"name":"rpt:f-210","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2016-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"49509000","decimals":-3}]},{"name":"rpt:f-211","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"49392000","decimals":-3}]},{"name":"rpt:f-212","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"51509000","decimals":-3}]},{"name":"rpt:f-213","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"51509000","decimals":-3}]},{"name":"rpt:f-214","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"53955000","decimals":-3}]},{"name":"rpt:f-215","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"53955000","decimals":-3}]},{"name":"rpt:f-216","factDimensions":{"xbrl:concept":"us-gaap:CommonStockValue","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1421000","decimals":-3}]},{"name":"rpt:f-217","factDimensions":{"xbrl:concept":"us-gaap:CommonStockValue","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1482000","decimals":-3}]},{"name":"rpt:f-218","factDimensions":{"xbrl:concept":"us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-27863000","decimals":-3}]},{"name":"rpt:f-219","factDimensions":{"xbrl:concept":"us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-82545000","decimals":-3}]},{"name":"rpt:f-220","factDimensions":{"xbrl:concept":"us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-19882000","decimals":-3}]},{"name":"rpt:f-221","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskPercentage1","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","srt:MajorCustomersAxis":"calx:CenturyLinkMember","us-gaap:ConcentrationRiskByBenchmarkAxis":"us-gaap:SalesRevenueNetMember","us-gaap:ConcentrationRiskByTypeAxis":"us-gaap:CustomerConcentrationRiskMember"},"factValues":[{"value":"0.21","decimals":2}]},{"name":"rpt:f-222","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskPercentage1","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","srt:MajorCustomersAxis":"calx:WindstreamMember","us-gaap:ConcentrationRiskByBenchmarkAxis":"us-gaap:SalesRevenueNetMember","us-gaap:ConcentrationRiskByTypeAxis":"us-gaap:CustomerConcentrationRiskMember"},"factValues":[{"value":"0.15","decimals":2}]},{"name":"rpt:f-223","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskPercentage1","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","srt:MajorCustomersAxis":"calx:CenturyLinkMember","us-gaap:ConcentrationRiskByBenchmarkAxis":"us-gaap:AccountsReceivableMember","us-gaap:ConcentrationRiskByTypeAxis":"us-gaap:CustomerConcentrationRiskMember"},"factValues":[{"value":"0.42","decimals":2}]},{"name":"rpt:f-224","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskPercentage1","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","srt:MajorCustomersAxis":"calx:CenturyLinkMember","us-gaap:ConcentrationRiskByBenchmarkAxis":"us-gaap:SalesRevenueNetMember","us-gaap:ConcentrationRiskByTypeAxis":"us-gaap:CustomerConcentrationRiskMember"},"factValues":[{"value":"0.31","decimals":2}]},{"name":"rpt:f-225","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskPercentage1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","srt:MajorCustomersAxis":"calx:CenturyLinkMember","us-gaap:ConcentrationRiskByBenchmarkAxis":"us-gaap:AccountsReceivableMember","us-gaap:ConcentrationRiskByTypeAxis":"us-gaap:CustomerConcentrationRiskMember"},"factValues":[{"value":"0.16","decimals":2}]},{"name":"rpt:f-226","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskPercentage1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","srt:MajorCustomersAxis":"calx:CenturyLinkMember","us-gaap:ConcentrationRiskByBenchmarkAxis":"us-gaap:SalesRevenueNetMember","us-gaap:ConcentrationRiskByTypeAxis":"us-gaap:CustomerConcentrationRiskMember"},"factValues":[{"value":"0.18","decimals":2}]},{"name":"rpt:f-227","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerAssetNet","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5900000","decimals":-5}]},{"name":"rpt:f-228","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerAssetNet","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1500000","decimals":-5}]},{"name":"rpt:f-229","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiability","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"33721000","decimals":-3}]},{"name":"rpt:f-230","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiability","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"33096000","decimals":-3}]},{"name":"rpt:f-231","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiability","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"2801000","decimals":-3}]},{"name":"rpt:f-232","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiability","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"35897000","decimals":-3}]},{"name":"rpt:f-233","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13076000","decimals":-3}]},{"name":"rpt:f-234","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:DeferredRevenueArrangementTypeAxis":"calx:ExtendedWarrantyMember"},"factValues":[{"value":"3951000","decimals":-3}]},{"name":"rpt:f-235","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:DeferredRevenueArrangementTypeAxis":"calx:ProductAndServicesMember"},"factValues":[{"value":"9125000","decimals":-3}]},{"name":"rpt:f-236","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"13076000","decimals":-3}]},{"name":"rpt:f-237","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15600000","decimals":-3}]},{"name":"rpt:f-238","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:DeferredRevenueArrangementTypeAxis":"calx:ExtendedWarrantyMember"},"factValues":[{"value":"4000000","decimals":-3}]},{"name":"rpt:f-239","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:DeferredRevenueArrangementTypeAxis":"calx:ProductAndServicesMember"},"factValues":[{"value":"11600000","decimals":-3}]},{"name":"rpt:f-240","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12247000","decimals":-3}]},{"name":"rpt:f-241","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-829000","decimals":-3}]},{"name":"rpt:f-242","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityNoncurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"20645000","decimals":-3}]},{"name":"rpt:f-243","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityNoncurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:DeferredRevenueArrangementTypeAxis":"calx:ExtendedWarrantyMember"},"factValues":[{"value":"20627000","decimals":-3}]},{"name":"rpt:f-244","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityNoncurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:DeferredRevenueArrangementTypeAxis":"calx:ProductAndServicesMember"},"factValues":[{"value":"18000","decimals":-3}]},{"name":"rpt:f-245","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityNoncurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17496000","decimals":-3}]},{"name":"rpt:f-246","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityNoncurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:DeferredRevenueArrangementTypeAxis":"calx:ExtendedWarrantyMember"},"factValues":[{"value":"17056000","decimals":-3}]},{"name":"rpt:f-247","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityNoncurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:DeferredRevenueArrangementTypeAxis":"calx:ProductAndServicesMember"},"factValues":[{"value":"440000","decimals":-3}]},{"name":"rpt:f-248","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityRevenueRecognized","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11900000","decimals":-5}]},{"name":"rpt:f-249","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"257569000","decimals":-3}]},{"name":"rpt:f-250","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"calx:SystemsProductMember"},"factValues":[{"value":"228976000","decimals":-3}]},{"name":"rpt:f-251","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:TechnologyServiceMember"},"factValues":[{"value":"28593000","decimals":-3}]},{"name":"rpt:f-252","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"337477000","decimals":-3}]},{"name":"rpt:f-253","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"calx:SystemsProductMember"},"factValues":[{"value":"236137000","decimals":-3}]},{"name":"rpt:f-254","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:TechnologyServiceMember"},"factValues":[{"value":"101340000","decimals":-3}]},{"name":"rpt:f-255","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"243938000","decimals":-3}]},{"name":"rpt:f-256","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"calx:SystemsProductMember"},"factValues":[{"value":"216529000","decimals":-3}]},{"name":"rpt:f-257","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"calx:SystemsProductMember","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-1052000","decimals":-3}]},{"name":"rpt:f-258","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"calx:SystemsProductMember","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"215477000","decimals":-3}]},{"name":"rpt:f-259","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:TechnologyServiceMember"},"factValues":[{"value":"27409000","decimals":-3}]},{"name":"rpt:f-260","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:TechnologyServiceMember","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"274000","decimals":-3}]},{"name":"rpt:f-261","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:TechnologyServiceMember","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"27683000","decimals":-3}]},{"name":"rpt:f-262","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-778000","decimals":-3}]},{"name":"rpt:f-263","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"243160000","decimals":-3}]},{"name":"rpt:f-264","factDimensions":{"xbrl:concept":"us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1773000","decimals":-3}]},{"name":"rpt:f-265","factDimensions":{"xbrl:concept":"us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"1773000","decimals":-3}]},{"name":"rpt:f-266","factDimensions":{"xbrl:concept":"us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"1800000","decimals":-5}]},{"name":"rpt:f-267","factDimensions":{"xbrl:concept":"us-gaap:CurrentForeignTaxExpenseBenefit","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"673000","decimals":-3}]},{"name":"rpt:f-268","factDimensions":{"xbrl:concept":"us-gaap:CurrentForeignTaxExpenseBenefit","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"577000","decimals":-3}]},{"name":"rpt:f-269","factDimensions":{"xbrl:concept":"us-gaap:CurrentForeignTaxExpenseBenefit","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"360000","decimals":-3}]},{"name":"rpt:f-270","factDimensions":{"xbrl:concept":"us-gaap:CurrentIncomeTaxExpenseBenefit","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"775000","decimals":-3}]},{"name":"rpt:f-271","factDimensions":{"xbrl:concept":"us-gaap:CurrentIncomeTaxExpenseBenefit","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"692000","decimals":-3}]},{"name":"rpt:f-272","factDimensions":{"xbrl:concept":"us-gaap:CurrentIncomeTaxExpenseBenefit","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"465000","decimals":-3}]},{"name":"rpt:f-273","factDimensions":{"xbrl:concept":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"102000","decimals":-3}]},{"name":"rpt:f-274","factDimensions":{"xbrl:concept":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"115000","decimals":-3}]},{"name":"rpt:f-275","factDimensions":{"xbrl:concept":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"105000","decimals":-3}]},{"name":"rpt:f-276","factDimensions":{"xbrl:concept":"us-gaap:DebtInstrumentInterestRateEffectivePercentage","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:CreditFacilityAxis":"us-gaap:LetterOfCreditMember","us-gaap:LineOfCreditFacilityAxis":"calx:SiliconValleyBankMember"},"factValues":[{"value":"0.058","decimals":3}]},{"name":"rpt:f-277","factDimensions":{"xbrl:concept":"us-gaap:DebtInstrumentInterestRateEffectivePercentage","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:CreditFacilityAxis":"us-gaap:LetterOfCreditMember","us-gaap:LineOfCreditFacilityAxis":"calx:SiliconValleyBankMember"},"factValues":[{"value":"0.070","decimals":3}]},{"name":"rpt:f-278","factDimensions":{"xbrl:concept":"us-gaap:DebtWeightedAverageInterestRate","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"calx:ResearchAndDevelopmentEquipmentMember"},"factValues":[{"value":"0.062","decimals":3}]},{"name":"rpt:f-279","factDimensions":{"xbrl:concept":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-428000","decimals":-3}]},{"name":"rpt:f-280","factDimensions":{"xbrl:concept":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"551000","decimals":-3}]},{"name":"rpt:f-281","factDimensions":{"xbrl:concept":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"65000","decimals":-3}]},{"name":"rpt:f-282","factDimensions":{"xbrl:concept":"us-gaap:DeferredRevenueNoncurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"20645000","decimals":-3}]},{"name":"rpt:f-283","factDimensions":{"xbrl:concept":"us-gaap:DeferredRevenueNoncurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17496000","decimals":-3}]},{"name":"rpt:f-284","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsDeferredIncome","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7928000","decimals":-3}]},{"name":"rpt:f-285","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsDeferredIncome","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7815000","decimals":-3}]},{"name":"rpt:f-286","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"64000","decimals":-3}]},{"name":"rpt:f-287","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"37000","decimals":-3}]},{"name":"rpt:f-288","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsGross","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"198766000","decimals":-3}]},{"name":"rpt:f-289","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsGross","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"203553000","decimals":-3}]},{"name":"rpt:f-290","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsNet","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"20000","decimals":-3}]},{"name":"rpt:f-291","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsNet","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-292","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"134731000","decimals":-3}]},{"name":"rpt:f-293","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"132420000","decimals":-3}]},{"name":"rpt:f-294","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsOther","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"23000","decimals":-3}]},{"name":"rpt:f-295","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsOther","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5000","decimals":-3}]},{"name":"rpt:f-296","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1892000","decimals":-3}]},{"name":"rpt:f-297","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1924000","decimals":-3}]},{"name":"rpt:f-298","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3100000","decimals":-3}]},{"name":"rpt:f-299","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4447000","decimals":-3}]},{"name":"rpt:f-300","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7933000","decimals":-3}]},{"name":"rpt:f-301","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10021000","decimals":-3}]},{"name":"rpt:f-302","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsValuationAllowance","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"198746000","decimals":-3}]},{"name":"rpt:f-303","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsValuationAllowance","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"203550000","decimals":-3}]},{"name":"rpt:f-304","factDimensions":{"xbrl:concept":"us-gaap:DefinedContributionPlanCostRecognized","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2100000","decimals":-5}]},{"name":"rpt:f-305","factDimensions":{"xbrl:concept":"us-gaap:DefinedContributionPlanCostRecognized","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000000","decimals":-5}]},{"name":"rpt:f-306","factDimensions":{"xbrl:concept":"us-gaap:DefinedContributionPlanCostRecognized","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2500000","decimals":-5}]},{"name":"rpt:f-307","factDimensions":{"xbrl:concept":"us-gaap:Depreciation","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8319000","decimals":-3}]},{"name":"rpt:f-308","factDimensions":{"xbrl:concept":"us-gaap:Depreciation","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10178000","decimals":-3}]},{"name":"rpt:f-309","factDimensions":{"xbrl:concept":"us-gaap:Depreciation","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9187000","decimals":-3}]},{"name":"rpt:f-310","factDimensions":{"xbrl:concept":"us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration","xbrl:period":"2018-03-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"calx:ClearfieldInc.Member","us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis":"calx:OutdoorCabinetProductLineMember"},"factValues":[{"value":"10400000","decimals":-5}]},{"name":"rpt:f-311","factDimensions":{"xbrl:concept":"us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue","xbrl:period":"2018-03-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"calx:ClearfieldInc.Member","us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis":"calx:OutdoorCabinetProductLineMember"},"factValues":[{"value":"1600000","decimals":-5}]},{"name":"rpt:f-312","factDimensions":{"xbrl:concept":"us-gaap:DisposalGroupIncludingDiscontinuedOperationInventory1","xbrl:period":"2018-03-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"calx:ClearfieldInc.Member","us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis":"calx:OutdoorCabinetProductLineMember"},"factValues":[{"value":"2100000","decimals":-5}]},{"name":"rpt:f-313","factDimensions":{"xbrl:concept":"us-gaap:DisposalGroupNotDiscontinuedOperationGainLossOnDisposal","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"calx:ClearfieldInc.Member","us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis":"calx:OutdoorCabinetProductLineMember"},"factValues":[{"value":"6700000","decimals":-5}]},{"name":"rpt:f-314","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasicAndDiluted","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.56","decimals":2}]},{"name":"rpt:f-315","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasicAndDiluted","xbrl:period":"2017-01-01T00:00:00/2017-04-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.67","decimals":2}]},{"name":"rpt:f-316","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasicAndDiluted","xbrl:period":"2017-04-02T00:00:00/2017-07-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.38","decimals":2}]},{"name":"rpt:f-317","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasicAndDiluted","xbrl:period":"2017-07-02T00:00:00/2017-10-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.35","decimals":2}]},{"name":"rpt:f-318","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasicAndDiluted","xbrl:period":"2017-10-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.25","decimals":2}]},{"name":"rpt:f-319","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasicAndDiluted","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-1.66","decimals":2}]},{"name":"rpt:f-320","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasicAndDiluted","xbrl:period":"2018-01-01T00:00:00/2018-04-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.23","decimals":2}]},{"name":"rpt:f-321","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasicAndDiluted","xbrl:period":"2018-04-01T00:00:00/2018-07-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.05","decimals":2}]},{"name":"rpt:f-322","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasicAndDiluted","xbrl:period":"2018-07-01T00:00:00/2018-09-30T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.02","decimals":2}]},{"name":"rpt:f-323","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasicAndDiluted","xbrl:period":"2018-09-30T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.10","decimals":2}]},{"name":"rpt:f-324","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasicAndDiluted","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.37","decimals":2}]},{"name":"rpt:f-325","factDimensions":{"xbrl:concept":"us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-526000","decimals":-3}]},{"name":"rpt:f-326","factDimensions":{"xbrl:concept":"us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"464000","decimals":-3}]},{"name":"rpt:f-327","factDimensions":{"xbrl:concept":"us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-477000","decimals":-3}]},{"name":"rpt:f-328","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.013","decimals":3}]},{"name":"rpt:f-329","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.015","decimals":3}]},{"name":"rpt:f-330","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.028","decimals":3}]},{"name":"rpt:f-331","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.34"}]},{"name":"rpt:f-332","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.34"}]},{"name":"rpt:f-333","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.21"}]},{"name":"rpt:f-334","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.622","decimals":3}]},{"name":"rpt:f-335","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.673","decimals":3}]},{"name":"rpt:f-336","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.256","decimals":3}]},{"name":"rpt:f-337","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.006","decimals":3}]},{"name":"rpt:f-338","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.005","decimals":3}]},{"name":"rpt:f-339","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.003","decimals":3}]},{"name":"rpt:f-340","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.014","decimals":3}]},{"name":"rpt:f-341","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.004","decimals":3}]},{"name":"rpt:f-342","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.016","decimals":3}]},{"name":"rpt:f-343","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.051","decimals":3}]},{"name":"rpt:f-344","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.037","decimals":3}]},{"name":"rpt:f-345","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.043","decimals":3}]},{"name":"rpt:f-346","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.210","decimals":3}]},{"name":"rpt:f-347","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.017","decimals":3}]},{"name":"rpt:f-348","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.023","decimals":3}]},{"name":"rpt:f-349","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.061","decimals":3}]},{"name":"rpt:f-350","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.045","decimals":3}]},{"name":"rpt:f-351","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"0.057","decimals":3}]},{"name":"rpt:f-352","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.064","decimals":3}]},{"name":"rpt:f-353","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.027","decimals":3}]},{"name":"rpt:f-354","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"-0.072","decimals":3}]},{"name":"rpt:f-355","factDimensions":{"xbrl:concept":"us-gaap:EmployeeRelatedLiabilitiesCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15563000","decimals":-3}]},{"name":"rpt:f-356","factDimensions":{"xbrl:concept":"us-gaap:EmployeeRelatedLiabilitiesCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"19811000","decimals":-3}]},{"name":"rpt:f-357","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"3879000","decimals":-3}]},{"name":"rpt:f-358","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"5088000","decimals":-3}]},{"name":"rpt:f-359","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"3337000","decimals":-3}]},{"name":"rpt:f-360","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"P1Y23D"}]},{"name":"rpt:f-361","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"P1Y11M9D"}]},{"name":"rpt:f-362","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"P1Y0M7D"}]},{"name":"rpt:f-363","factDimensions":{"xbrl:concept":"us-gaap:ForeignFinancialInstitutionsActualDeposits","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3700000","decimals":-5}]},{"name":"rpt:f-364","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnDispositionOfAssets","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-365","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnDispositionOfAssets","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-280000","decimals":-3}]},{"name":"rpt:f-366","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnDispositionOfAssets","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-326000","decimals":-3}]},{"name":"rpt:f-367","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnDispositionOfAssets1","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-368","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnDispositionOfAssets1","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-369","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnDispositionOfAssets1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6704000","decimals":-3}]},{"name":"rpt:f-370","factDimensions":{"xbrl:concept":"us-gaap:GainLossRelatedToLitigationSettlement","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4500000","decimals":-3}]},{"name":"rpt:f-371","factDimensions":{"xbrl:concept":"us-gaap:GainLossRelatedToLitigationSettlement","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-372","factDimensions":{"xbrl:concept":"us-gaap:GainLossRelatedToLitigationSettlement","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-373","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"41592000","decimals":-3}]},{"name":"rpt:f-374","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"39875000","decimals":-3}]},{"name":"rpt:f-375","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"40500000","decimals":-3}]},{"name":"rpt:f-376","factDimensions":{"xbrl:concept":"us-gaap:Goodwill","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"116175000","decimals":-3}]},{"name":"rpt:f-377","factDimensions":{"xbrl:concept":"us-gaap:Goodwill","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"116175000","decimals":-3}]},{"name":"rpt:f-378","factDimensions":{"xbrl:concept":"us-gaap:GoodwillImpairmentLoss","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-379","factDimensions":{"xbrl:concept":"us-gaap:GoodwillImpairmentLoss","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-380","factDimensions":{"xbrl:concept":"us-gaap:GoodwillImpairmentLoss","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-381","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"201218000","decimals":-3}]},{"name":"rpt:f-382","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2017-01-01T00:00:00/2017-04-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"34377000","decimals":-3}]},{"name":"rpt:f-383","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2017-04-02T00:00:00/2017-07-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"43323000","decimals":-3}]},{"name":"rpt:f-384","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2017-07-02T00:00:00/2017-10-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"44633000","decimals":-3}]},{"name":"rpt:f-385","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2017-10-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"50557000","decimals":-3}]},{"name":"rpt:f-386","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"172890000","decimals":-3}]},{"name":"rpt:f-387","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2018-01-01T00:00:00/2018-04-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"42059000","decimals":-3}]},{"name":"rpt:f-388","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2018-04-01T00:00:00/2018-07-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"50866000","decimals":-3}]},{"name":"rpt:f-389","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2018-07-01T00:00:00/2018-09-30T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"52833000","decimals":-3}]},{"name":"rpt:f-390","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2018-09-30T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"51624000","decimals":-3}]},{"name":"rpt:f-391","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"197382000","decimals":-3}]},{"name":"rpt:f-392","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-916000","decimals":-3}]},{"name":"rpt:f-393","factDimensions":{"xbrl:concept":"us-gaap:GrossProfit","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"196466000","decimals":-3}]},{"name":"rpt:f-394","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-28931000","decimals":-3}]},{"name":"rpt:f-395","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-84387000","decimals":-3}]},{"name":"rpt:f-396","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-20463000","decimals":-3}]},{"name":"rpt:f-397","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1876000","decimals":-3}]},{"name":"rpt:f-398","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2598000","decimals":-3}]},{"name":"rpt:f-399","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1695000","decimals":-3}]},{"name":"rpt:f-400","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-27055000","decimals":-3}]},{"name":"rpt:f-401","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-81789000","decimals":-3}]},{"name":"rpt:f-402","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-18768000","decimals":-3}]},{"name":"rpt:f-403","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"347000","decimals":-3}]},{"name":"rpt:f-404","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1243000","decimals":-3}]},{"name":"rpt:f-405","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"530000","decimals":-3}]},{"name":"rpt:f-406","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxesPaidNet","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"965000","decimals":-3}]},{"name":"rpt:f-407","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxesPaidNet","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"915000","decimals":-3}]},{"name":"rpt:f-408","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxesPaidNet","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"561000","decimals":-3}]},{"name":"rpt:f-409","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsPayable","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4236000","decimals":-3}]},{"name":"rpt:f-410","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsPayable","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11759000","decimals":-3}]},{"name":"rpt:f-411","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsPayable","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4596000","decimals":-3}]},{"name":"rpt:f-412","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsReceivable","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4185000","decimals":-3}]},{"name":"rpt:f-413","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsReceivable","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"29056000","decimals":-3}]},{"name":"rpt:f-414","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsReceivable","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-13858000","decimals":-3}]},{"name":"rpt:f-415","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccruedLiabilities","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"34913000","decimals":-3}]},{"name":"rpt:f-416","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccruedLiabilities","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-20184000","decimals":-3}]},{"name":"rpt:f-417","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccruedLiabilities","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2791000","decimals":-3}]},{"name":"rpt:f-418","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInDeferredRevenue","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"16398000","decimals":-3}]},{"name":"rpt:f-419","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInDeferredRevenue","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-14370000","decimals":-3}]},{"name":"rpt:f-420","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInDeferredRevenue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1426000","decimals":-3}]},{"name":"rpt:f-421","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInInventories","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-3122000","decimals":-3}]},{"name":"rpt:f-422","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInInventories","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-13016000","decimals":-3}]},{"name":"rpt:f-423","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInInventories","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"20639000","decimals":-3}]},{"name":"rpt:f-424","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-412000","decimals":-3}]},{"name":"rpt:f-425","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"252000","decimals":-3}]},{"name":"rpt:f-426","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-183000","decimals":-3}]},{"name":"rpt:f-427","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"31042000","decimals":-3}]},{"name":"rpt:f-428","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-35210000","decimals":-3}]},{"name":"rpt:f-429","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-3579000","decimals":-3}]},{"name":"rpt:f-430","factDimensions":{"xbrl:concept":"us-gaap:InterestPaidNet","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"127000","decimals":-3}]},{"name":"rpt:f-431","factDimensions":{"xbrl:concept":"us-gaap:InterestPaidNet","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"313000","decimals":-3}]},{"name":"rpt:f-432","factDimensions":{"xbrl:concept":"us-gaap:InterestPaidNet","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"649000","decimals":-3}]},{"name":"rpt:f-433","factDimensions":{"xbrl:concept":"us-gaap:InventoryFinishedGoodsNetOfReserves","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"30318000","decimals":-3}]},{"name":"rpt:f-434","factDimensions":{"xbrl:concept":"us-gaap:InventoryFinishedGoodsNetOfReserves","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"39336000","decimals":-3}]},{"name":"rpt:f-435","factDimensions":{"xbrl:concept":"us-gaap:InventoryNet","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"31529000","decimals":-3}]},{"name":"rpt:f-436","factDimensions":{"xbrl:concept":"us-gaap:InventoryNet","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"50151000","decimals":-3}]},{"name":"rpt:f-437","factDimensions":{"xbrl:concept":"us-gaap:InventoryRawMaterialsNetOfReserves","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1211000","decimals":-3}]},{"name":"rpt:f-438","factDimensions":{"xbrl:concept":"us-gaap:InventoryRawMaterialsNetOfReserves","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10815000","decimals":-3}]},{"name":"rpt:f-439","factDimensions":{"xbrl:concept":"us-gaap:InvestmentIncomeNet","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"152000","decimals":-3}]},{"name":"rpt:f-440","factDimensions":{"xbrl:concept":"us-gaap:InvestmentIncomeNet","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-160000","decimals":-3}]},{"name":"rpt:f-441","factDimensions":{"xbrl:concept":"us-gaap:InvestmentIncomeNet","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-632000","decimals":-3}]},{"name":"rpt:f-442","factDimensions":{"xbrl:concept":"us-gaap:LeaseAndRentalExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3500000","decimals":-5}]},{"name":"rpt:f-443","factDimensions":{"xbrl:concept":"us-gaap:LeaseAndRentalExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3700000","decimals":-5}]},{"name":"rpt:f-444","factDimensions":{"xbrl:concept":"us-gaap:LeaseAndRentalExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3400000","decimals":-5}]},{"name":"rpt:f-445","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseTermOfContract","xbrl:period":"2018-07-01T00:00:00","xbrl:entity":"cik:0001406666","srt:StatementGeographicalAxis":"calx:WestJordanUtahMember"},"factValues":[{"value":"P84M"}]},{"name":"rpt:f-446","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseTermOfContract","xbrl:period":"2018-09-01T00:00:00","xbrl:entity":"cik:0001406666","srt:StatementGeographicalAxis":"calx:PetalumaCAMember"},"factValues":[{"value":"P64M"}]},{"name":"rpt:f-447","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"150107000","decimals":-3}]},{"name":"rpt:f-448","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"150107000","decimals":-3}]},{"name":"rpt:f-449","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"165146000","decimals":-3}]},{"name":"rpt:f-450","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"1921000","decimals":-3}]},{"name":"rpt:f-451","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"167067000","decimals":-3}]},{"name":"rpt:f-452","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"149278000","decimals":-3}]},{"name":"rpt:f-453","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-829000","decimals":-3}]},{"name":"rpt:f-454","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"295070000","decimals":-3}]},{"name":"rpt:f-455","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"295070000","decimals":-3}]},{"name":"rpt:f-456","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"317080000","decimals":-3}]},{"name":"rpt:f-457","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-709000","decimals":-3}]},{"name":"rpt:f-458","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"316371000","decimals":-3}]},{"name":"rpt:f-459","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"296014000","decimals":-3}]},{"name":"rpt:f-460","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"944000","decimals":-3}]},{"name":"rpt:f-461","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"128332000","decimals":-3}]},{"name":"rpt:f-462","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"143678000","decimals":-3}]},{"name":"rpt:f-463","factDimensions":{"xbrl:concept":"us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity","xbrl:period":"2017-08-08T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:CreditFacilityAxis":"us-gaap:LetterOfCreditMember","us-gaap:LineOfCreditFacilityAxis":"calx:SiliconValleyBankMember"},"factValues":[{"value":"30000000.0"}]},{"name":"rpt:f-464","factDimensions":{"xbrl:concept":"us-gaap:LinesOfCreditCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"30000000","decimals":-5}]},{"name":"rpt:f-465","factDimensions":{"xbrl:concept":"us-gaap:LinesOfCreditCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"30000000","decimals":-3}]},{"name":"rpt:f-466","factDimensions":{"xbrl:concept":"us-gaap:LinesOfCreditCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"30000000","decimals":-3}]},{"name":"rpt:f-467","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInFinancingActivities","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-9243000","decimals":-3}]},{"name":"rpt:f-468","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInFinancingActivities","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"31990000","decimals":-3}]},{"name":"rpt:f-469","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInFinancingActivities","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7492000","decimals":-3}]},{"name":"rpt:f-470","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInInvestingActivities","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12083000","decimals":-3}]},{"name":"rpt:f-471","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInInvestingActivities","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"19734000","decimals":-3}]},{"name":"rpt:f-472","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInInvestingActivities","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-76000","decimals":-3}]},{"name":"rpt:f-473","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInOperatingActivities","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"24419000","decimals":-3}]},{"name":"rpt:f-474","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInOperatingActivities","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-62772000","decimals":-3}]},{"name":"rpt:f-475","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInOperatingActivities","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3560000","decimals":-3}]},{"name":"rpt:f-476","factDimensions":{"xbrl:concept":"us-gaap:NonoperatingIncomeExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1064000","decimals":-3}]},{"name":"rpt:f-477","factDimensions":{"xbrl:concept":"us-gaap:NonoperatingIncomeExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-233000","decimals":-3}]},{"name":"rpt:f-478","factDimensions":{"xbrl:concept":"us-gaap:NonoperatingIncomeExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-254000","decimals":-3}]},{"name":"rpt:f-479","factDimensions":{"xbrl:concept":"us-gaap:OperatingExpenses","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"229337000","decimals":-3}]},{"name":"rpt:f-480","factDimensions":{"xbrl:concept":"us-gaap:OperatingExpenses","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"254446000","decimals":-3}]},{"name":"rpt:f-481","factDimensions":{"xbrl:concept":"us-gaap:OperatingExpenses","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"215896000","decimals":-3}]},{"name":"rpt:f-482","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-28119000","decimals":-3}]},{"name":"rpt:f-483","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2017-01-01T00:00:00/2017-04-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-32816000","decimals":-3}]},{"name":"rpt:f-484","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2017-04-02T00:00:00/2017-07-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-18714000","decimals":-3}]},{"name":"rpt:f-485","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2017-07-02T00:00:00/2017-10-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-17263000","decimals":-3}]},{"name":"rpt:f-486","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2017-10-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-12763000","decimals":-3}]},{"name":"rpt:f-487","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-81556000","decimals":-3}]},{"name":"rpt:f-488","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2018-01-01T00:00:00/2018-04-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-11109000","decimals":-3}]},{"name":"rpt:f-489","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2018-04-01T00:00:00/2018-07-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2926000","decimals":-3}]},{"name":"rpt:f-490","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2018-07-01T00:00:00/2018-09-30T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"676000","decimals":-3}]},{"name":"rpt:f-491","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2018-09-30T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-5155000","decimals":-3}]},{"name":"rpt:f-492","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-18514000","decimals":-3}]},{"name":"rpt:f-493","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2019-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201602Member","us-gaap:SubsequentEventTypeAxis":"us-gaap:SubsequentEventMember"},"factValues":[{"value":"16000000","decimals":-6}]},{"name":"rpt:f-494","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2019-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201602Member","us-gaap:SubsequentEventTypeAxis":"us-gaap:SubsequentEventMember"},"factValues":[{"value":"16000000","decimals":-6}]},{"name":"rpt:f-495","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","xbrl:period":"2018-04-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"calx:SanJoseCaliforniaMember"},"factValues":[{"value":"16100000","decimals":-5}]},{"name":"rpt:f-496","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","xbrl:period":"2018-09-30T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"calx:WestJordanUtahMember"},"factValues":[{"value":"2900000","decimals":-5}]},{"name":"rpt:f-497","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"23799000","decimals":-3}]},{"name":"rpt:f-498","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeasesFutureMinimumPaymentsDue","xbrl:period":"2018-09-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"calx:PetalumaCAMember"},"factValues":[{"value":"2800000","decimals":-5}]},{"name":"rpt:f-499","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3750000","decimals":-3}]},{"name":"rpt:f-500","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3411000","decimals":-3}]},{"name":"rpt:f-501","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3300000","decimals":-3}]},{"name":"rpt:f-502","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3468000","decimals":-3}]},{"name":"rpt:f-503","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3817000","decimals":-3}]},{"name":"rpt:f-504","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6053000","decimals":-3}]},{"name":"rpt:f-505","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwards","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"us-gaap:DomesticCountryMember"},"factValues":[{"value":"597000000","decimals":-5}]},{"name":"rpt:f-506","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwards","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"us-gaap:StateAndLocalJurisdictionMember"},"factValues":[{"value":"189500000","decimals":-5}]},{"name":"rpt:f-507","factDimensions":{"xbrl:concept":"us-gaap:OtherAccruedLiabilitiesCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5655000","decimals":-3}]},{"name":"rpt:f-508","factDimensions":{"xbrl:concept":"us-gaap:OtherAccruedLiabilitiesCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6907000","decimals":-3}]},{"name":"rpt:f-509","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"759000","decimals":-3}]},{"name":"rpt:f-510","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"759000","decimals":-3}]},{"name":"rpt:f-511","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1203000","decimals":-3}]},{"name":"rpt:f-512","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-567000","decimals":-3}]},{"name":"rpt:f-513","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"636000","decimals":-3}]},{"name":"rpt:f-514","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1457000","decimals":-3}]},{"name":"rpt:f-515","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"698000","decimals":-3}]},{"name":"rpt:f-516","factDimensions":{"xbrl:concept":"us-gaap:OtherCommitment","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:OtherCommitmentsAxis":"calx:EngineeringServicesMember"},"factValues":[{"value":"15800000","decimals":-5}]},{"name":"rpt:f-517","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-549000","decimals":-3}]},{"name":"rpt:f-518","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"481000","decimals":-3}]},{"name":"rpt:f-519","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-584000","decimals":-3}]},{"name":"rpt:f-520","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-461000","decimals":-3}]},{"name":"rpt:f-521","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedOtherComprehensiveIncomeMember"},"factValues":[{"value":"-461000","decimals":-3}]},{"name":"rpt:f-522","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"487000","decimals":-3}]},{"name":"rpt:f-523","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedOtherComprehensiveIncomeMember"},"factValues":[{"value":"487000","decimals":-3}]},{"name":"rpt:f-524","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-584000","decimals":-3}]},{"name":"rpt:f-525","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossNetOfTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedOtherComprehensiveIncomeMember"},"factValues":[{"value":"-584000","decimals":-3}]},{"name":"rpt:f-526","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember"},"factValues":[{"value":"6000","decimals":-3}]},{"name":"rpt:f-527","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedOtherComprehensiveIncomeMember"},"factValues":[{"value":"487000","decimals":-3}]},{"name":"rpt:f-528","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedTranslationAdjustmentMember"},"factValues":[{"value":"481000","decimals":-3}]},{"name":"rpt:f-529","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-530","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedOtherComprehensiveIncomeMember"},"factValues":[{"value":"-584000","decimals":-3}]},{"name":"rpt:f-531","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedTranslationAdjustmentMember"},"factValues":[{"value":"-584000","decimals":-3}]},{"name":"rpt:f-532","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"88000","decimals":-3}]},{"name":"rpt:f-533","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6000","decimals":-3}]},{"name":"rpt:f-534","factDimensions":{"xbrl:concept":"us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-535","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesNoncurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1130000","decimals":-3}]},{"name":"rpt:f-536","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesNoncurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3972000","decimals":-3}]},{"name":"rpt:f-537","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"912000","decimals":-3}]},{"name":"rpt:f-538","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-73000","decimals":-3}]},{"name":"rpt:f-539","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"378000","decimals":-3}]},{"name":"rpt:f-540","factDimensions":{"xbrl:concept":"us-gaap:PaymentsForRepurchaseOfCommonStock","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12809000","decimals":-3}]},{"name":"rpt:f-541","factDimensions":{"xbrl:concept":"us-gaap:PaymentsForRepurchaseOfCommonStock","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-542","factDimensions":{"xbrl:concept":"us-gaap:PaymentsForRepurchaseOfCommonStock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-543","factDimensions":{"xbrl:concept":"us-gaap:PaymentsForRestructuring","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2832000","decimals":-3}]},{"name":"rpt:f-544","factDimensions":{"xbrl:concept":"us-gaap:PaymentsForRestructuring","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:EmployeeSeveranceMember"},"factValues":[{"value":"2832000","decimals":-3}]},{"name":"rpt:f-545","factDimensions":{"xbrl:concept":"us-gaap:PaymentsForRestructuring","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:FacilityClosingMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-546","factDimensions":{"xbrl:concept":"us-gaap:PaymentsForRestructuring","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7094000","decimals":-3}]},{"name":"rpt:f-547","factDimensions":{"xbrl:concept":"us-gaap:PaymentsForRestructuring","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:EmployeeSeveranceMember"},"factValues":[{"value":"6178000","decimals":-3}]},{"name":"rpt:f-548","factDimensions":{"xbrl:concept":"us-gaap:PaymentsForRestructuring","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:FacilityClosingMember"},"factValues":[{"value":"916000","decimals":-3}]},{"name":"rpt:f-549","factDimensions":{"xbrl:concept":"us-gaap:PaymentsOfDebtIssuanceCosts","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-550","factDimensions":{"xbrl:concept":"us-gaap:PaymentsOfDebtIssuanceCosts","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"186000","decimals":-3}]},{"name":"rpt:f-551","factDimensions":{"xbrl:concept":"us-gaap:PaymentsOfDebtIssuanceCosts","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"115000","decimals":-3}]},{"name":"rpt:f-552","factDimensions":{"xbrl:concept":"us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2101000","decimals":-3}]},{"name":"rpt:f-553","factDimensions":{"xbrl:concept":"us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2764000","decimals":-3}]},{"name":"rpt:f-554","factDimensions":{"xbrl:concept":"us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"74000","decimals":-3}]},{"name":"rpt:f-555","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquireMarketableSecurities","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"16478000","decimals":-3}]},{"name":"rpt:f-556","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquireMarketableSecurities","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8732000","decimals":-3}]},{"name":"rpt:f-557","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquireMarketableSecurities","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-558","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9839000","decimals":-3}]},{"name":"rpt:f-559","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8026000","decimals":-3}]},{"name":"rpt:f-560","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10426000","decimals":-3}]},{"name":"rpt:f-561","factDimensions":{"xbrl:concept":"us-gaap:PreferredStockParOrStatedValuePerShare","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.025"}]},{"name":"rpt:f-562","factDimensions":{"xbrl:concept":"us-gaap:PreferredStockParOrStatedValuePerShare","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.025"}]},{"name":"rpt:f-563","factDimensions":{"xbrl:concept":"us-gaap:PreferredStockSharesAuthorized","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"5000000"}]},{"name":"rpt:f-564","factDimensions":{"xbrl:concept":"us-gaap:PreferredStockSharesAuthorized","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"5000000"}]},{"name":"rpt:f-565","factDimensions":{"xbrl:concept":"us-gaap:PreferredStockSharesIssued","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"0"}]},{"name":"rpt:f-566","factDimensions":{"xbrl:concept":"us-gaap:PreferredStockSharesIssued","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"0"}]},{"name":"rpt:f-567","factDimensions":{"xbrl:concept":"us-gaap:PreferredStockSharesOutstanding","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"0"}]},{"name":"rpt:f-568","factDimensions":{"xbrl:concept":"us-gaap:PreferredStockSharesOutstanding","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"0"}]},{"name":"rpt:f-569","factDimensions":{"xbrl:concept":"us-gaap:PreferredStockValue","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-570","factDimensions":{"xbrl:concept":"us-gaap:PreferredStockValue","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-571","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10759000","decimals":-3}]},{"name":"rpt:f-572","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"10759000","decimals":-3}]},{"name":"rpt:f-573","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7306000","decimals":-3}]},{"name":"rpt:f-574","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"953000","decimals":-3}]},{"name":"rpt:f-575","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"8259000","decimals":-3}]},{"name":"rpt:f-576","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10514000","decimals":-3}]},{"name":"rpt:f-577","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-245000","decimals":-3}]},{"name":"rpt:f-578","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5650000","decimals":-3}]},{"name":"rpt:f-579","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4878000","decimals":-3}]},{"name":"rpt:f-580","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7297000","decimals":-3}]},{"name":"rpt:f-581","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromLinesOfCredit","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-582","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromLinesOfCredit","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"171268000","decimals":-3}]},{"name":"rpt:f-583","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromLinesOfCredit","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"557915000","decimals":-3}]},{"name":"rpt:f-584","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"38400000","decimals":-3}]},{"name":"rpt:f-585","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"31441000","decimals":-3}]},{"name":"rpt:f-586","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-587","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromSaleOfAvailableForSaleSecurities","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-588","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromSaleOfAvailableForSaleSecurities","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5051000","decimals":-3}]},{"name":"rpt:f-589","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromSaleOfAvailableForSaleSecurities","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-590","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromStockOptionsExercised","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17000","decimals":-3}]},{"name":"rpt:f-591","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromStockOptionsExercised","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"62000","decimals":-3}]},{"name":"rpt:f-592","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromStockOptionsExercised","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"384000","decimals":-3}]},{"name":"rpt:f-593","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrual","xbrl:period":"2016-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9564000","decimals":-3}]},{"name":"rpt:f-594","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrual","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12214000","decimals":-3}]},{"name":"rpt:f-595","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrual","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8708000","decimals":-3}]},{"name":"rpt:f-596","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrual","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8547000","decimals":-3}]},{"name":"rpt:f-597","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrualClassifiedCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8708000","decimals":-3}]},{"name":"rpt:f-598","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrualClassifiedCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8547000","decimals":-3}]},{"name":"rpt:f-599","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrualPayments","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6816000","decimals":-3}]},{"name":"rpt:f-600","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrualPayments","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12226000","decimals":-3}]},{"name":"rpt:f-601","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrualPayments","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5376000","decimals":-3}]},{"name":"rpt:f-602","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-432000","decimals":-3}]},{"name":"rpt:f-603","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-604","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-605","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrualWarrantiesIssued","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9898000","decimals":-3}]},{"name":"rpt:f-606","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrualWarrantiesIssued","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8720000","decimals":-3}]},{"name":"rpt:f-607","factDimensions":{"xbrl:concept":"us-gaap:ProductWarrantyAccrualWarrantiesIssued","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5215000","decimals":-3}]},{"name":"rpt:f-608","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-27402000","decimals":-3}]},{"name":"rpt:f-609","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-27402000","decimals":-3}]},{"name":"rpt:f-610","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2017-01-01T00:00:00/2017-04-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-33325000","decimals":-3}]},{"name":"rpt:f-611","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2017-04-02T00:00:00/2017-07-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-18988000","decimals":-3}]},{"name":"rpt:f-612","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2017-07-02T00:00:00/2017-10-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-17853000","decimals":-3}]},{"name":"rpt:f-613","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2017-10-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-12866000","decimals":-3}]},{"name":"rpt:f-614","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-83032000","decimals":-3}]},{"name":"rpt:f-615","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-83032000","decimals":-3}]},{"name":"rpt:f-616","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2018-01-01T00:00:00/2018-04-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-11736000","decimals":-3}]},{"name":"rpt:f-617","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2018-04-01T00:00:00/2018-07-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2793000","decimals":-3}]},{"name":"rpt:f-618","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2018-07-01T00:00:00/2018-09-30T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"809000","decimals":-3}]},{"name":"rpt:f-619","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2018-09-30T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-5578000","decimals":-3}]},{"name":"rpt:f-620","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-19298000","decimals":-3}]},{"name":"rpt:f-621","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-857000","decimals":-3}]},{"name":"rpt:f-622","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"-20155000","decimals":-3}]},{"name":"rpt:f-623","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-19298000","decimals":-3}]},{"name":"rpt:f-624","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"80870000","decimals":-3}]},{"name":"rpt:f-625","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"calx:ComputerEquipmentAndPurchasedSoftwareMember"},"factValues":[{"value":"32175000","decimals":-3}]},{"name":"rpt:f-626","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"39952000","decimals":-3}]},{"name":"rpt:f-627","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:FurnitureAndFixturesMember"},"factValues":[{"value":"2714000","decimals":-3}]},{"name":"rpt:f-628","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:LeaseholdImprovementsMember"},"factValues":[{"value":"6029000","decimals":-3}]},{"name":"rpt:f-629","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"79380000","decimals":-3}]},{"name":"rpt:f-630","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"calx:ComputerEquipmentAndPurchasedSoftwareMember"},"factValues":[{"value":"34697000","decimals":-3}]},{"name":"rpt:f-631","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"39148000","decimals":-3}]},{"name":"rpt:f-632","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:FurnitureAndFixturesMember"},"factValues":[{"value":"1976000","decimals":-3}]},{"name":"rpt:f-633","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:LeaseholdImprovementsMember"},"factValues":[{"value":"3559000","decimals":-3}]},{"name":"rpt:f-634","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentNet","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15681000","decimals":-3}]},{"name":"rpt:f-635","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentNet","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:CN"},"factValues":[{"value":"2572000","decimals":-3}]},{"name":"rpt:f-636","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentNet","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:US"},"factValues":[{"value":"13109000","decimals":-3}]},{"name":"rpt:f-637","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentNet","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"24945000","decimals":-3}]},{"name":"rpt:f-638","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentNet","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:CN"},"factValues":[{"value":"1696000","decimals":-3}]},{"name":"rpt:f-639","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentNet","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:US"},"factValues":[{"value":"23249000","decimals":-3}]},{"name":"rpt:f-640","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:ComputerEquipmentMember"},"factValues":[{"value":"P2Y"}]},{"name":"rpt:f-641","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:ComputerSoftwareIntangibleAssetMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-642","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-643","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:FurnitureAndFixturesMember"},"factValues":[{"value":"P7Y"}]},{"name":"rpt:f-644","factDimensions":{"xbrl:concept":"us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"42000000","decimals":-5}]},{"name":"rpt:f-645","factDimensions":{"xbrl:concept":"us-gaap:PurchaseObligation","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"calx:ResearchAndDevelopmentEquipmentMember"},"factValues":[{"value":"5100000","decimals":-5}]},{"name":"rpt:f-646","factDimensions":{"xbrl:concept":"us-gaap:RepaymentsOfLinesOfCredit","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-647","factDimensions":{"xbrl:concept":"us-gaap:RepaymentsOfLinesOfCredit","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"141268000","decimals":-3}]},{"name":"rpt:f-648","factDimensions":{"xbrl:concept":"us-gaap:RepaymentsOfLinesOfCredit","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"557915000","decimals":-3}]},{"name":"rpt:f-649","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"106869000","decimals":-3}]},{"name":"rpt:f-650","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"127541000","decimals":-3}]},{"name":"rpt:f-651","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"89963000","decimals":-3}]},{"name":"rpt:f-652","factDimensions":{"xbrl:concept":"us-gaap:RestrictedCashCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-653","factDimensions":{"xbrl:concept":"us-gaap:RestrictedCashCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"628000","decimals":-3}]},{"name":"rpt:f-654","factDimensions":{"xbrl:concept":"us-gaap:RestrictedCashCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"600000","decimals":-5}]},{"name":"rpt:f-655","factDimensions":{"xbrl:concept":"us-gaap:RestrictedCashCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201618Member"},"factValues":[{"value":"600000","decimals":-5}]},{"name":"rpt:f-656","factDimensions":{"xbrl:concept":"us-gaap:RestructuringCharges","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-657","factDimensions":{"xbrl:concept":"us-gaap:RestructuringCharges","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4249000","decimals":-3}]},{"name":"rpt:f-658","factDimensions":{"xbrl:concept":"us-gaap:RestructuringCharges","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:EmployeeSeveranceMember"},"factValues":[{"value":"3807000","decimals":-3}]},{"name":"rpt:f-659","factDimensions":{"xbrl:concept":"us-gaap:RestructuringCharges","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:FacilityClosingMember"},"factValues":[{"value":"442000","decimals":-3}]},{"name":"rpt:f-660","factDimensions":{"xbrl:concept":"us-gaap:RestructuringCharges","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5705000","decimals":-3}]},{"name":"rpt:f-661","factDimensions":{"xbrl:concept":"us-gaap:RestructuringCharges","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:EmployeeSeveranceMember"},"factValues":[{"value":"5203000","decimals":-3}]},{"name":"rpt:f-662","factDimensions":{"xbrl:concept":"us-gaap:RestructuringCharges","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:FacilityClosingMember"},"factValues":[{"value":"502000","decimals":-3}]},{"name":"rpt:f-663","factDimensions":{"xbrl:concept":"us-gaap:RestructuringReserve","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-664","factDimensions":{"xbrl:concept":"us-gaap:RestructuringReserve","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:EmployeeSeveranceMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-665","factDimensions":{"xbrl:concept":"us-gaap:RestructuringReserve","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:FacilityClosingMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-666","factDimensions":{"xbrl:concept":"us-gaap:RestructuringReserve","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1417000","decimals":-3}]},{"name":"rpt:f-667","factDimensions":{"xbrl:concept":"us-gaap:RestructuringReserve","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:EmployeeSeveranceMember"},"factValues":[{"value":"975000","decimals":-3}]},{"name":"rpt:f-668","factDimensions":{"xbrl:concept":"us-gaap:RestructuringReserve","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:FacilityClosingMember"},"factValues":[{"value":"442000","decimals":-3}]},{"name":"rpt:f-669","factDimensions":{"xbrl:concept":"us-gaap:RestructuringReserve","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"28000","decimals":-3}]},{"name":"rpt:f-670","factDimensions":{"xbrl:concept":"us-gaap:RestructuringReserve","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:EmployeeSeveranceMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-671","factDimensions":{"xbrl:concept":"us-gaap:RestructuringReserve","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:RestructuringCostAndReserveAxis":"us-gaap:FacilityClosingMember"},"factValues":[{"value":"28000","decimals":-3}]},{"name":"rpt:f-672","factDimensions":{"xbrl:concept":"us-gaap:RestructuringReserveCurrent","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1417000","decimals":-3}]},{"name":"rpt:f-673","factDimensions":{"xbrl:concept":"us-gaap:RestructuringReserveCurrent","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"28000","decimals":-3}]},{"name":"rpt:f-674","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-667357000","decimals":-3}]},{"name":"rpt:f-675","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"-667357000","decimals":-3}]},{"name":"rpt:f-676","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-684882000","decimals":-3}]},{"name":"rpt:f-677","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-2630000","decimals":-3}]},{"name":"rpt:f-678","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"-687512000","decimals":-3}]},{"name":"rpt:f-679","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-665584000","decimals":-3}]},{"name":"rpt:f-680","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2018-01-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"1773000","decimals":-3}]},{"name":"rpt:f-681","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"458787000","decimals":-3}]},{"name":"rpt:f-682","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"calx:SystemsProductMember"},"factValues":[{"value":"428584000","decimals":-3}]},{"name":"rpt:f-683","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:TechnologyServiceMember"},"factValues":[{"value":"30203000","decimals":-3}]},{"name":"rpt:f-684","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"calx:CaribbeanMember"},"factValues":[{"value":"12934000","decimals":-3}]},{"name":"rpt:f-685","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"calx:SegmentGeographicalOtherCountriesMember"},"factValues":[{"value":"6728000","decimals":-3}]},{"name":"rpt:f-686","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:CA"},"factValues":[{"value":"9064000","decimals":-3}]},{"name":"rpt:f-687","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:US"},"factValues":[{"value":"415629000","decimals":-3}]},{"name":"rpt:f-688","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"srt:EuropeMember"},"factValues":[{"value":"6334000","decimals":-3}]},{"name":"rpt:f-689","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"us-gaap:MiddleEastMember"},"factValues":[{"value":"8098000","decimals":-3}]},{"name":"rpt:f-690","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-01-01T00:00:00/2017-04-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"117518000","decimals":-3}]},{"name":"rpt:f-691","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-04-02T00:00:00/2017-07-02T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"126123000","decimals":-3}]},{"name":"rpt:f-692","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-07-02T00:00:00/2017-10-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"128827000","decimals":-3}]},{"name":"rpt:f-693","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-10-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"137899000","decimals":-3}]},{"name":"rpt:f-694","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"510367000","decimals":-3}]},{"name":"rpt:f-695","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"calx:SystemsProductMember"},"factValues":[{"value":"421890000","decimals":-3}]},{"name":"rpt:f-696","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:TechnologyServiceMember"},"factValues":[{"value":"88477000","decimals":-3}]},{"name":"rpt:f-697","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"calx:CaribbeanMember"},"factValues":[{"value":"9853000","decimals":-3}]},{"name":"rpt:f-698","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"calx:SegmentGeographicalOtherCountriesMember"},"factValues":[{"value":"9611000","decimals":-3}]},{"name":"rpt:f-699","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:CA"},"factValues":[{"value":"13105000","decimals":-3}]},{"name":"rpt:f-700","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:US"},"factValues":[{"value":"452956000","decimals":-3}]},{"name":"rpt:f-701","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"srt:EuropeMember"},"factValues":[{"value":"6575000","decimals":-3}]},{"name":"rpt:f-702","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"us-gaap:MiddleEastMember"},"factValues":[{"value":"18267000","decimals":-3}]},{"name":"rpt:f-703","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2018-04-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"99403000","decimals":-3}]},{"name":"rpt:f-704","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-04-01T00:00:00/2018-07-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"111702000","decimals":-3}]},{"name":"rpt:f-705","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-07-01T00:00:00/2018-09-30T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"114699000","decimals":-3}]},{"name":"rpt:f-706","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-09-30T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"115516000","decimals":-3}]},{"name":"rpt:f-707","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"441320000","decimals":-3}]},{"name":"rpt:f-708","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"calx:SystemsProductMember"},"factValues":[{"value":"405923000","decimals":-3}]},{"name":"rpt:f-709","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"calx:SystemsProductMember","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-3253000","decimals":-3}]},{"name":"rpt:f-710","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"calx:SystemsProductMember","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"402670000","decimals":-3}]},{"name":"rpt:f-711","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:TechnologyServiceMember"},"factValues":[{"value":"35397000","decimals":-3}]},{"name":"rpt:f-712","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:TechnologyServiceMember","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"1559000","decimals":-3}]},{"name":"rpt:f-713","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:TechnologyServiceMember","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"36956000","decimals":-3}]},{"name":"rpt:f-714","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"calx:CaribbeanMember"},"factValues":[{"value":"7075000","decimals":-3}]},{"name":"rpt:f-715","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"calx:SegmentGeographicalOtherCountriesMember"},"factValues":[{"value":"9690000","decimals":-3}]},{"name":"rpt:f-716","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:CA"},"factValues":[{"value":"10542000","decimals":-3}]},{"name":"rpt:f-717","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:US"},"factValues":[{"value":"386341000","decimals":-3}]},{"name":"rpt:f-718","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"srt:EuropeMember"},"factValues":[{"value":"8858000","decimals":-3}]},{"name":"rpt:f-719","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"us-gaap:MiddleEastMember"},"factValues":[{"value":"18814000","decimals":-3}]},{"name":"rpt:f-720","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-1694000","decimals":-3}]},{"name":"rpt:f-721","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"439626000","decimals":-3}]},{"name":"rpt:f-722","factDimensions":{"xbrl:concept":"us-gaap:RevenueRemainingPerformanceObligation","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"33100000","decimals":-5}]},{"name":"rpt:f-723","factDimensions":{"xbrl:concept":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","xbrl:period":"2018-09-30T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis":"2019-01-01"},"factValues":[{"value":"P1Y"}]},{"name":"rpt:f-724","factDimensions":{"xbrl:concept":"us-gaap:RevenueRemainingPerformanceObligationPercentage","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis":"2019-01-01"},"factValues":[{"value":"0.47","decimals":2}]},{"name":"rpt:f-725","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"83675000","decimals":-3}]},{"name":"rpt:f-726","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"82781000","decimals":-3}]},{"name":"rpt:f-727","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"86432000","decimals":-3}]},{"name":"rpt:f-728","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201409Member","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member"},"factValues":[{"value":"-59000","decimals":-3}]},{"name":"rpt:f-729","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis":"us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member"},"factValues":[{"value":"86373000","decimals":-3}]},{"name":"rpt:f-730","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensation","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14285000","decimals":-3}]},{"name":"rpt:f-731","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensation","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12368000","decimals":-3}]},{"name":"rpt:f-732","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensation","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17473000","decimals":-3}]},{"name":"rpt:f-733","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1","xbrl:period":"2016-02-01T00:00:00/2016-03-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"P1Y"}]},{"name":"rpt:f-734","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1","xbrl:period":"2017-08-01T00:00:00/2017-09-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"calx:PerformanceBasedStockOptionsMember","us-gaap:TitleOfIndividualAxis":"us-gaap:ExecutiveOfficerMember"},"factValues":[{"value":"P1Y"}]},{"name":"rpt:f-735","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","xbrl:period":"2017-10-01T00:00:00/2017-11-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember","us-gaap:PlanNameAxis":"calx:InducementAwardMember","us-gaap:TitleOfIndividualAxis":"us-gaap:ChiefFinancialOfficerMember"},"factValues":[{"value":"P4Y"}]},{"name":"rpt:f-736","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","xbrl:period":"2017-10-01T00:00:00/2017-11-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember","us-gaap:PlanNameAxis":"calx:InducementAwardMember","us-gaap:TitleOfIndividualAxis":"us-gaap:ChiefFinancialOfficerMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-737","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember","us-gaap:PlanNameAxis":"calx:A2010PlanMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-738","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"P4Y"}]},{"name":"rpt:f-739","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"P4Y"}]},{"name":"rpt:f-740","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PlanNameAxis":"calx:PriorPlansMember"},"factValues":[{"value":"P4Y"}]},{"name":"rpt:f-741","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"vest\u00a025%\u00a0on the first anniversary of the vesting commencement date and on a monthly basis thereafter for a period of an additional three years"}]},{"name":"rpt:f-742","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-743","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"277000","decimals":-3}]},{"name":"rpt:f-744","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"0.00","decimals":2}]},{"name":"rpt:f-745","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"7.65","decimals":2}]},{"name":"rpt:f-746","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","xbrl:period":"2016-02-01T00:00:00/2016-03-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"550000"}]},{"name":"rpt:f-747","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","xbrl:period":"2017-12-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"calx:PerformanceBasedStockOptionsMember","us-gaap:TitleOfIndividualAxis":"us-gaap:ExecutiveOfficerMember"},"factValues":[{"value":"1600000","decimals":-5}]},{"name":"rpt:f-748","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","xbrl:period":"2017-08-01T00:00:00/2017-09-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"calx:PerformanceBasedStockOptionsMember","us-gaap:TitleOfIndividualAxis":"us-gaap:ExecutiveOfficerMember"},"factValues":[{"value":"1200000","decimals":-5}]},{"name":"rpt:f-749","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-750","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"174000","decimals":-3}]},{"name":"rpt:f-751","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"1.92","decimals":2}]},{"name":"rpt:f-752","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"7.42","decimals":2}]},{"name":"rpt:f-753","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"6.91","decimals":2}]},{"name":"rpt:f-754","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"1.76","decimals":2}]},{"name":"rpt:f-755","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"6.90","decimals":2}]},{"name":"rpt:f-756","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"6.75","decimals":2}]},{"name":"rpt:f-757","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"2.21","decimals":2}]},{"name":"rpt:f-758","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"7.34","decimals":2}]},{"name":"rpt:f-759","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"0.00","decimals":2}]},{"name":"rpt:f-760","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"6.66","decimals":2}]},{"name":"rpt:f-761","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"150000","decimals":-3}]},{"name":"rpt:f-762","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"1726000","decimals":-3}]},{"name":"rpt:f-763","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"63000","decimals":-3}]},{"name":"rpt:f-764","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"788000","decimals":-3}]},{"name":"rpt:f-765","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"7.42","decimals":2}]},{"name":"rpt:f-766","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"7.53","decimals":2}]},{"name":"rpt:f-767","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"7.42","decimals":2}]},{"name":"rpt:f-768","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"7.26","decimals":2}]},{"name":"rpt:f-769","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"87000","decimals":-3}]},{"name":"rpt:f-770","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"835000","decimals":-3}]},{"name":"rpt:f-771","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"7.42","decimals":2}]},{"name":"rpt:f-772","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember"},"factValues":[{"value":"7.57","decimals":2}]},{"name":"rpt:f-773","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-774","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-775","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-776","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-777","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-778","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-779","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"0.46","decimals":2}]},{"name":"rpt:f-780","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"0.53","decimals":2}]},{"name":"rpt:f-781","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"0.45","decimals":2}]},{"name":"rpt:f-782","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"0.52","decimals":2}]},{"name":"rpt:f-783","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"0.42","decimals":2}]},{"name":"rpt:f-784","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"0.50","decimals":2}]},{"name":"rpt:f-785","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"0.0047","decimals":4}]},{"name":"rpt:f-786","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"0.0160","decimals":4}]},{"name":"rpt:f-787","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"0.0124","decimals":4}]},{"name":"rpt:f-788","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"0.0210","decimals":4}]},{"name":"rpt:f-789","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"0.0221","decimals":4}]},{"name":"rpt:f-790","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"0.0283","decimals":4}]},{"name":"rpt:f-791","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"0.15"}]},{"name":"rpt:f-792","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"2000"}]},{"name":"rpt:f-793","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized","xbrl:period":"2018-05-16T00:00:00/2018-05-17T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"2500000"}]},{"name":"rpt:f-794","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"7300000"}]},{"name":"rpt:f-795","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"3500000"}]},{"name":"rpt:f-796","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"281000","decimals":-3}]},{"name":"rpt:f-797","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"2306000","decimals":-3}]},{"name":"rpt:f-798","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1903000","decimals":-3}]},{"name":"rpt:f-799","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"9.04","decimals":2}]},{"name":"rpt:f-800","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5000","decimals":-3}]},{"name":"rpt:f-801","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10000","decimals":-3}]},{"name":"rpt:f-802","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"148000","decimals":-3}]},{"name":"rpt:f-803","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1487000","decimals":-3}]},{"name":"rpt:f-804","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2017-10-01T00:00:00/2017-11-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember","us-gaap:PlanNameAxis":"calx:InducementAwardMember","us-gaap:TitleOfIndividualAxis":"us-gaap:ChiefFinancialOfficerMember"},"factValues":[{"value":"300000","decimals":-5}]},{"name":"rpt:f-805","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"230000","decimals":-3}]},{"name":"rpt:f-806","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2017-10-01T00:00:00/2017-11-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember","us-gaap:PlanNameAxis":"calx:InducementAwardMember","us-gaap:TitleOfIndividualAxis":"us-gaap:ChiefFinancialOfficerMember"},"factValues":[{"value":"5.05","decimals":2}]},{"name":"rpt:f-807","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.58","decimals":2}]},{"name":"rpt:f-808","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.19","decimals":2}]},{"name":"rpt:f-809","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.41","decimals":2}]},{"name":"rpt:f-810","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOtherIncreasesDecreasesInPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"5333328"}]},{"name":"rpt:f-811","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12377000","decimals":-3}]},{"name":"rpt:f-812","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"5756000","decimals":-3}]},{"name":"rpt:f-813","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"4442000","decimals":-3}]},{"name":"rpt:f-814","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"7.38","decimals":2}]},{"name":"rpt:f-815","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"7.40","decimals":2}]},{"name":"rpt:f-816","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12006000","decimals":-3}]},{"name":"rpt:f-817","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"4333000","decimals":-3}]},{"name":"rpt:f-818","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"7.43","decimals":2}]},{"name":"rpt:f-819","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"900000","decimals":-5}]},{"name":"rpt:f-820","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"300000","decimals":-5}]},{"name":"rpt:f-821","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"900000","decimals":-5}]},{"name":"rpt:f-822","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"calx:A2017NonqualifiedEmployeeStockPurchasePlanMember"},"factValues":[{"value":"300000","decimals":-5}]},{"name":"rpt:f-823","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"6.70","decimals":2}]},{"name":"rpt:f-824","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"7.22","decimals":2}]},{"name":"rpt:f-825","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"6.77","decimals":2}]},{"name":"rpt:f-826","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","xbrl:period":"2016-02-01T00:00:00/2016-03-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheOneMember"},"factValues":[{"value":"0.5"}]},{"name":"rpt:f-827","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","xbrl:period":"2016-02-01T00:00:00/2016-03-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheThreeMember"},"factValues":[{"value":"0.25"}]},{"name":"rpt:f-828","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","xbrl:period":"2016-02-01T00:00:00/2016-03-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember"},"factValues":[{"value":"0.25"}]},{"name":"rpt:f-829","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","xbrl:period":"2017-10-01T00:00:00/2017-11-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember","us-gaap:PlanNameAxis":"calx:InducementAwardMember","us-gaap:TitleOfIndividualAxis":"us-gaap:ChiefFinancialOfficerMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheOneMember"},"factValues":[{"value":"0.25"}]},{"name":"rpt:f-830","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"calx:PerformanceBasedStockOptionsMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheOneMember"},"factValues":[{"value":"0.5"}]},{"name":"rpt:f-831","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"calx:PerformanceBasedStockOptionsMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember"},"factValues":[{"value":"0.0625"}]},{"name":"rpt:f-832","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember","us-gaap:PlanNameAxis":"calx:A2010PlanMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheOneMember"},"factValues":[{"value":"0.25"}]},{"name":"rpt:f-833","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:RestrictedStockUnitsRSUMember","us-gaap:PlanNameAxis":"calx:A2010PlanMember"},"factValues":[{"value":"0.25"}]},{"name":"rpt:f-834","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"P6M7D"}]},{"name":"rpt:f-835","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"P6Y3M0D"}]},{"name":"rpt:f-836","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"P5M27D"}]},{"name":"rpt:f-837","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"P5Y10M17D"}]},{"name":"rpt:f-838","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"P5M29D"}]},{"name":"rpt:f-839","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"P6Y1M10D"}]},{"name":"rpt:f-840","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3300000","decimals":-3}]},{"name":"rpt:f-841","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"P5Y4M23D"}]},{"name":"rpt:f-842","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"P7Y4M6D"}]},{"name":"rpt:f-843","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"P7Y3M23D"}]},{"name":"rpt:f-844","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1900000","decimals":-5}]},{"name":"rpt:f-845","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2100000","decimals":-5}]},{"name":"rpt:f-846","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2700000","decimals":-5}]},{"name":"rpt:f-847","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","us-gaap:AwardTypeAxis":"us-gaap:EmployeeStockMember"},"factValues":[{"value":"0.85"}]},{"name":"rpt:f-848","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"1010000","decimals":-3}]},{"name":"rpt:f-849","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"1112000","decimals":-3}]},{"name":"rpt:f-850","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"1476000","decimals":-3}]},{"name":"rpt:f-851","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-852","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"11000","decimals":-3}]},{"name":"rpt:f-853","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"57000","decimals":-3}]},{"name":"rpt:f-854","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"57000","decimals":-3}]},{"name":"rpt:f-855","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5650000","decimals":-3}]},{"name":"rpt:f-856","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"5625000","decimals":-3}]},{"name":"rpt:f-857","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"25000","decimals":-3}]},{"name":"rpt:f-858","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4878000","decimals":-3}]},{"name":"rpt:f-859","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"4849000","decimals":-3}]},{"name":"rpt:f-860","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"29000","decimals":-3}]},{"name":"rpt:f-861","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7297000","decimals":-3}]},{"name":"rpt:f-862","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"7259000","decimals":-3}]},{"name":"rpt:f-863","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"38000","decimals":-3}]},{"name":"rpt:f-864","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17000","decimals":-3}]},{"name":"rpt:f-865","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"17000","decimals":-3}]},{"name":"rpt:f-866","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-867","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"62000","decimals":-3}]},{"name":"rpt:f-868","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"62000","decimals":-3}]},{"name":"rpt:f-869","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-870","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"384000","decimals":-3}]},{"name":"rpt:f-871","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"383000","decimals":-3}]},{"name":"rpt:f-872","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"1000","decimals":-3}]},{"name":"rpt:f-873","factDimensions":{"xbrl:concept":"us-gaap:StockRepurchasedDuringPeriodShares","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"1789000","decimals":-3}]},{"name":"rpt:f-874","factDimensions":{"xbrl:concept":"us-gaap:StockRepurchasedDuringPeriodValue","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12809000","decimals":-3}]},{"name":"rpt:f-875","factDimensions":{"xbrl:concept":"us-gaap:StockRepurchasedDuringPeriodValue","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockMember"},"factValues":[{"value":"12809000","decimals":-3}]},{"name":"rpt:f-876","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2016-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"235785000","decimals":-3}]},{"name":"rpt:f-877","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2016-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedOtherComprehensiveIncomeMember"},"factValues":[{"value":"-195000","decimals":-3}]},{"name":"rpt:f-878","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2016-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"818754000","decimals":-3}]},{"name":"rpt:f-879","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2016-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"1326000","decimals":-3}]},{"name":"rpt:f-880","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2016-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-556923000","decimals":-3}]},{"name":"rpt:f-881","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2016-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockMember"},"factValues":[{"value":"-27177000","decimals":-3}]},{"name":"rpt:f-882","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"212964000","decimals":-3}]},{"name":"rpt:f-883","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember"},"factValues":[{"value":"-6000","decimals":-3}]},{"name":"rpt:f-884","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedOtherComprehensiveIncomeMember"},"factValues":[{"value":"-656000","decimals":-3}]},{"name":"rpt:f-885","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedTranslationAdjustmentMember"},"factValues":[{"value":"-650000","decimals":-3}]},{"name":"rpt:f-886","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"836563000","decimals":-3}]},{"name":"rpt:f-887","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"1368000","decimals":-3}]},{"name":"rpt:f-888","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-584325000","decimals":-3}]},{"name":"rpt:f-889","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockMember"},"factValues":[{"value":"-39986000","decimals":-3}]},{"name":"rpt:f-890","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"144963000","decimals":-3}]},{"name":"rpt:f-891","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-892","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedOtherComprehensiveIncomeMember"},"factValues":[{"value":"-169000","decimals":-3}]},{"name":"rpt:f-893","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedTranslationAdjustmentMember"},"factValues":[{"value":"-169000","decimals":-3}]},{"name":"rpt:f-894","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"851054000","decimals":-3}]},{"name":"rpt:f-895","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"1421000","decimals":-3}]},{"name":"rpt:f-896","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-667357000","decimals":-3}]},{"name":"rpt:f-897","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockMember"},"factValues":[{"value":"-39986000","decimals":-3}]},{"name":"rpt:f-898","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"151934000","decimals":-3}]},{"name":"rpt:f-899","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-900","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedOtherComprehensiveIncomeMember"},"factValues":[{"value":"-753000","decimals":-3}]},{"name":"rpt:f-901","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AccumulatedTranslationAdjustmentMember"},"factValues":[{"value":"-753000","decimals":-3}]},{"name":"rpt:f-902","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"876073000","decimals":-3}]},{"name":"rpt:f-903","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"1482000","decimals":-3}]},{"name":"rpt:f-904","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-684882000","decimals":-3}]},{"name":"rpt:f-905","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockMember"},"factValues":[{"value":"-39986000","decimals":-3}]},{"name":"rpt:f-906","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityNoteStockSplitConversionRatio1","xbrl:period":"2010-03-21T00:00:00/2010-03-22T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"1.5"}]},{"name":"rpt:f-907","factDimensions":{"xbrl:concept":"us-gaap:TaxCreditCarryforwardAmount","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"43095000","decimals":-3}]},{"name":"rpt:f-908","factDimensions":{"xbrl:concept":"us-gaap:TaxCreditCarryforwardAmount","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"46884000","decimals":-3}]},{"name":"rpt:f-909","factDimensions":{"xbrl:concept":"us-gaap:TaxCreditCarryforwardAmount","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"calx:CaliforniaStateMember"},"factValues":[{"value":"35000000","decimals":-5}]},{"name":"rpt:f-910","factDimensions":{"xbrl:concept":"us-gaap:TaxCreditCarryforwardAmount","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"calx:OtherStateMember"},"factValues":[{"value":"3000000","decimals":-5}]},{"name":"rpt:f-911","factDimensions":{"xbrl:concept":"us-gaap:TaxCreditCarryforwardAmount","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"us-gaap:DomesticCountryMember"},"factValues":[{"value":"35400000","decimals":-5}]},{"name":"rpt:f-912","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockShares","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"5330000","decimals":-3}]},{"name":"rpt:f-913","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockShares","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"5330000","decimals":-3}]},{"name":"rpt:f-914","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockValue","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"39986000","decimals":-3}]},{"name":"rpt:f-915","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockValue","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"39986000","decimals":-3}]},{"name":"rpt:f-916","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"18349000","decimals":-3}]},{"name":"rpt:f-917","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"20289000","decimals":-3}]},{"name":"rpt:f-918","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"21998000","decimals":-3}]},{"name":"rpt:f-919","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-920","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1940000","decimals":-3}]},{"name":"rpt:f-921","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1193000","decimals":-3}]},{"name":"rpt:f-922","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-923","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"516000","decimals":-3}]},{"name":"rpt:f-924","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-40500000","decimals":-5}]},{"name":"rpt:f-925","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4800000","decimals":-5}]},{"name":"rpt:f-926","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesBalance","xbrl:period":"2016-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"calx:ProductReturnReserveMember"},"factValues":[{"value":"663000","decimals":-3}]},{"name":"rpt:f-927","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesBalance","xbrl:period":"2016-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"us-gaap:AllowanceForCreditLossMember"},"factValues":[{"value":"501000","decimals":-3}]},{"name":"rpt:f-928","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesBalance","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"calx:ProductReturnReserveMember"},"factValues":[{"value":"938000","decimals":-3}]},{"name":"rpt:f-929","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesBalance","xbrl:period":"2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"us-gaap:AllowanceForCreditLossMember"},"factValues":[{"value":"518000","decimals":-3}]},{"name":"rpt:f-930","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesBalance","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"calx:ProductReturnReserveMember"},"factValues":[{"value":"822000","decimals":-3}]},{"name":"rpt:f-931","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesBalance","xbrl:period":"2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"us-gaap:AllowanceForCreditLossMember"},"factValues":[{"value":"579000","decimals":-3}]},{"name":"rpt:f-932","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesBalance","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"calx:ProductReturnReserveMember"},"factValues":[{"value":"880000","decimals":-3}]},{"name":"rpt:f-933","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesBalance","xbrl:period":"2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"us-gaap:AllowanceForCreditLossMember"},"factValues":[{"value":"370000","decimals":-3}]},{"name":"rpt:f-934","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"calx:ProductReturnReserveMember"},"factValues":[{"value":"3679000","decimals":-3}]},{"name":"rpt:f-935","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"us-gaap:AllowanceForCreditLossMember"},"factValues":[{"value":"232000","decimals":-3}]},{"name":"rpt:f-936","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"calx:ProductReturnReserveMember"},"factValues":[{"value":"3682000","decimals":-3}]},{"name":"rpt:f-937","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"us-gaap:AllowanceForCreditLossMember"},"factValues":[{"value":"103000","decimals":-3}]},{"name":"rpt:f-938","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"calx:ProductReturnReserveMember"},"factValues":[{"value":"771000","decimals":-3}]},{"name":"rpt:f-939","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"us-gaap:AllowanceForCreditLossMember"},"factValues":[{"value":"-5000","decimals":-3}]},{"name":"rpt:f-940","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesDeductions","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"calx:ProductReturnReserveMember"},"factValues":[{"value":"3404000","decimals":-3}]},{"name":"rpt:f-941","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesDeductions","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"us-gaap:AllowanceForCreditLossMember"},"factValues":[{"value":"215000","decimals":-3}]},{"name":"rpt:f-942","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesDeductions","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"calx:ProductReturnReserveMember"},"factValues":[{"value":"3798000","decimals":-3}]},{"name":"rpt:f-943","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesDeductions","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"us-gaap:AllowanceForCreditLossMember"},"factValues":[{"value":"42000","decimals":-3}]},{"name":"rpt:f-944","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesDeductions","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"calx:ProductReturnReserveMember"},"factValues":[{"value":"713000","decimals":-3}]},{"name":"rpt:f-945","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowancesAndReservesDeductions","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"iso4217:USD","us-gaap:ValuationAllowancesAndReservesTypeAxis":"us-gaap:AllowanceForCreditLossMember"},"factValues":[{"value":"204000","decimals":-3}]},{"name":"rpt:f-946","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","xbrl:period":"2016-01-01T00:00:00/2017-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"48730000","decimals":-3}]},{"name":"rpt:f-947","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","xbrl:period":"2017-01-01T00:00:00/2018-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"50155000","decimals":-3}]},{"name":"rpt:f-948","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"52609000","decimals":-3}]},{"name":"rpt:f-949","factDimensions":{"xbrl:concept":"calx:CashCashEquivalentsAndMarketableSecuritiesPolicyPolicyTextBlockPolicyTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Cash, Cash Equivalents, Restricted Cash and Marketable Securities</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Cash equivalents and marketable securities are stated at amounts that approximate fair value based on quoted market prices. </font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Restricted cash is cash that is legally restricted as to withdrawal or usage. As of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, the Company had </font><font style=\"font-family:inherit;font-size:10pt;\">$0.6 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in restricted cash related to a letter of credit for our San Jose lease.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as corporate debt instruments, commercial paper and U.S. government agency securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent highly liquid corporate debt instruments, commercial paper and U.S. government agency securities with maturities greater than 90 days at date of purchase. Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company&#8217;s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of comprehensive loss in the stockholders&#8217; equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific identification method and are reclassified from accumulated other comprehensive loss to results of operations as &#8220;Other income (expense), net&#8221;. The Company had no investments as of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> and 2017.</font></div></div>"}]},{"name":"rpt:f-950","factDimensions":{"xbrl:concept":"calx:ScheduleOfGrantDateFairValuesTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table summarizes the weighted-average grant date fair values of the Company&#8217;s stock-based awards granted in the periods indicated:</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:85.9375%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:55%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Stock options</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3.41</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3.19</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3.58</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">RSUs</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">N/A</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.75</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.91</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">PRSUs</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">N/A</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">N/A</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.42</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">ESPP</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2.21</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.76</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.92</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Nonqualified ESPP</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.34</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.90</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">N/A</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-951","factDimensions":{"xbrl:concept":"calx:SharesReservedForFutureIssuanceTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Shares Reserved for Future Issuance </font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company had common shares reserved for future issuance as follows (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.234375%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"7\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Stock options outstanding</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4,442</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,756</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Restricted stock units outstanding</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">788</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,726</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Performance restricted stock units outstanding</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">63</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">150</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Shares available for future grant under 2010 Plan</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,306</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">281</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Shares available for future issuance under ESPP</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,550</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,456</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Shares available for future issuance under Nonqualified ESPP</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,764</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">551</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">11,913</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,920</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-952","factDimensions":{"xbrl:concept":"srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The table below summarizes the changes in allowance for doubtful accounts and product return reserve for the periods indicated (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.16881827209534%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"17\" rowspan=\"1\"></td></tr><tr><td style=\"width:40%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Balance at Beginning of Year</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Additions Charged to Costs or Expenses or Revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Deductions and Write Offs</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Balance at </font></div><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">End of Year</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Year Ended December 31, 2018</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Allowance for doubtful accounts</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">579</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(5</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(204</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">370</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product return reserve</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">822</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">771</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(713</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">880</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:Times New Roman;font-size:9pt;\">Year Ended December 31, 2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Allowance for doubtful accounts</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">518</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">103</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(42</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">579</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product return reserve</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">938</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,682</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(3,798</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">822</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:Times New Roman;font-size:9pt;\">Year Ended December 31, 2016</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Allowance for doubtful accounts</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">501</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">232</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(215</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">518</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product return reserve</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">663</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,679</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(3,404</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">938</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-953","factDimensions":{"xbrl:concept":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Applicable Accounting Guidance</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Any reference in these notes to applicable accounting guidance (&#8220;guidance&#8221;) is meant to refer to the authoritative U.S. generally accepted accounting principles (&#8220;GAAP&#8221;) as found in the Financial Accounting Standards Board (&#8220;FASB&#8221;) Accounting Standards Codification (&#8220;ASC&#8221;).</font></div></div>"}]},{"name":"rpt:f-954","factDimensions":{"xbrl:concept":"us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Description of Business and Significant Accounting Policies</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Company</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Calix, Inc. (together with its subsidiaries, &#8220;Calix&#8221; or the &#8220;Company&#8221;) was incorporated in August 1999 and is a Delaware corporation. The Company is a leading global provider of the cloud and software platforms, systems and services required to deliver the unified access network and smart premises of tomorrow. The Company&#8217;s platforms and services help its customers build next generation networks by embracing a DevOps operating model, optimize the subscriber experience by leveraging big data analytics and turn the complexity of the smart home and business into new revenue streams. The Company's cloud and software platforms, systems and services enable communication service providers (&#8220;CSPs&#8221;) to provide a wide range of revenue-generating services, from basic voice and data to advanced broadband services, over legacy and next-generation access networks. The Company focuses on CSP access networks, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Basis of Presentation</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The accompanying consolidated financial statements have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (&#8220;SEC&#8221;). In the opinion of management, the consolidated financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company&#8217;s financial position and operating results. All significant intercompany balances and transactions have been eliminated in consolidation. </font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Applicable Accounting Guidance</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Any reference in these notes to applicable accounting guidance (&#8220;guidance&#8221;) is meant to refer to the authoritative U.S. generally accepted accounting principles (&#8220;GAAP&#8221;) as found in the Financial Accounting Standards Board (&#8220;FASB&#8221;) Accounting Standards Codification (&#8220;ASC&#8221;).</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Use of Estimates</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The preparation of financial statements is in conformity with U.S. GAAP, which requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. For the Company, these estimates include, but are not limited to: allowances for doubtful accounts and sales returns, excess and obsolete inventory, allowances for obligations to its contract manufacturers, valuation of stock-based compensation, useful lives assigned to long-lived assets, standard and extended warranty costs and contingencies. Actual results could differ from those estimates, and such differences could be material to the Company&#8217;s financial position and results of operations.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Revenue Recognition</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Revenue is recognized when a performance obligation is satisfied, which occurs when control of the promised goods or services is transferred to the customer, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods or services.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. A contract&#8217;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The Company&#8217;s hardware products contain both software and non-software components that function together to deliver the products&#8217; essential functionality and therefore constitutes a single performance obligation as the promise to transfer the individual software and non-software components is not separately identifiable and, therefore, not distinct. The Company&#8217;s contracts may include multiple performance obligations. For such arrangements, the Company allocates the contract&#8217;s transaction price to each performance obligation using the relative stand-alone selling price of each distinct good or service in the contract. The Company generally determines stand-alone selling prices based on the prices charged to customers or its best estimate of stand-alone selling price. The Company&#8217;s estimate of stand-alone selling price is established considering multiple factors including, but not limited to, geographies, market conditions, competitive landscape, internal costs, gross margin objectives, characteristics of targeted customers and pricing practices. The determination of estimated stand-alone selling price is made through consultation with and formal approval by management, taking into consideration the go-to-market strategy.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">For certain revenue arrangements involving delivery of both systems and professional services, each is considered a distinct performance obligation. Systems revenue is recognized at a point in time when management has determined that control over systems has transferred to the customer, which is generally when legal title has transferred to the customer. For the same revenue arrangements, management believes that the output of the associated professional services is transferred to the customer over time. As such, professional services revenue is recognized over the period in which the services are provided using a cost input measure. The Company recognizes revenue when control of the systems and services has been transferred to the customer, which may be earlier than system installation or customer acceptance, in accordance with the agreed-upon specifications in the contract.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company derives revenue from contracts with customers primarily from the following and categorizes its revenue as follows:</font></div><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:41px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:10pt;padding-left:29px;\"><font style=\"font-family:inherit;font-size:10pt;\">&#8226;</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions.</font></div></td></tr></table><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:41px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:10pt;padding-left:29px;\"><font style=\"font-family:inherit;font-size:10pt;\">&#8226;</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Services include revenue from professional services, customer support, software- and cloud-based maintenance, extended warranty subscriptions, training and managed services.</font></div></td></tr></table><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Cost of Revenue</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Cost of revenue consists primarily of finished goods inventory purchased from the Company&#8217;s contract manufacturers, payroll and related expenses associated with managing the relationships with contract manufacturers, depreciation of manufacturing test equipment, warranty and retrofit costs, excess and obsolete inventory costs, shipping charges and amortization of certain intangible assets. It also includes contractor and other costs of services incurred directly related to the delivery of services to customers.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Warranty and Retrofit</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company offers limited warranties for its hardware products for a period of </font><font style=\"font-family:inherit;font-size:10pt;\">one</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">three</font><font style=\"font-family:inherit;font-size:10pt;\"> or </font><font style=\"font-family:inherit;font-size:10pt;\">five</font><font style=\"font-family:inherit;font-size:10pt;\"> years, depending on the product type. The Company recognizes estimated costs related to warranty activities as a component of cost of revenue upon product shipment or upon identification of a specific product failure. Under certain circumstances, the Company also provides fixes on specifically identified performance failures for products that are outside of the standard warranty period and recognizes estimated costs related to retrofit activities as a component of cost of revenue upon identification of such product failures. The Company recognizes estimated warranty and retrofit costs when it is probable that a liability has been incurred and the amount of loss is reasonably estimable. The estimates are based upon historical and projected product failure and claim rates, historical costs incurred in correcting product failures and information available related to any specifically identified product failures. Judgment is required in estimating costs associated with warranty and retrofit activities, and the Company's estimates are limited to information available to the Company at the time of such estimates. In some cases, such as when a specific product failure is first identified or a new product is introduced, the Company may initially have limited information and limited historical failure and claim rates upon which to base its estimates, and such estimates may require revision in future periods. The recorded amount is adjusted from time to time for specifically identified warranty and retrofit exposure. Actual warranty and retrofit expenses are charged against the Company&#8217;s estimated warranty and retrofit liability when incurred. Factors that affect the Company&#8217;s warranty and retrofit liability include the number of active installed units and historical and anticipated rates of warranty and retrofit claims and cost per claim.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Stock-Based Compensation</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Stock-based compensation expense associated with stock options, restricted stock units (&#8220;RSUs&#8221;), performance restricted stock units (&#8220;PRSUs&#8221;) and purchase rights under the Amended and Restated Employee Stock Purchase Plan (the&#8220;ESPP&#8221;) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the &#8220;Nonqualified ESPP&#8221;) is measured at the grant date based on the fair value of the award, and is recognized, net of forfeitures, as expense over the remaining requisite service period (generally the vesting period) on a straight-line basis.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The fair value of stock option and employee stock purchase right under the ESPP is estimated at the grant date using the Black-Scholes option valuation model. The fair value of RSUs and employee stock purchase right under the Nonqualified ESPP is based on closing market price of the Company&#8217;s common stock on the date of grant.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Stock-based compensation expense associated with PRSUs with graded vesting features and which contain both a performance and a service condition is measured based on the closing market price of the Company&#8217;s common stock on the date of grant, and is recognized, net of forfeitures, as expense over the requisite service period using the graded vesting attribution method.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Stock-based compensation expense associated with performance-based stock options with graded vesting features and which contain both a performance and a service condition is measured based on fair value of stock options estimated at the grant date using the Black-Scholes option valuation model, and is recognized, net of forfeitures, as expense over the requisite service period using the graded vesting attribution method.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Compensation expense associated with PRSUs and performance-based stock option awards with graded vesting features and which contain both a performance and a service condition is only recognized if the Company has determined that it is probable that the performance condition will be met. The Company reassesses the probability of vesting at each reporting period and adjusts compensation expense based on its probability assessment.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Loss Contingencies</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">From time to time, the Company is involved in legal proceedings arising from the normal course of business activities. The Company evaluates the likelihood of an unfavorable outcome of legal proceedings to which it is a party and accrues a loss contingency when the loss is probable and reasonably estimable. Assessing legal contingencies involves significant judgment and estimates, and the outcome of litigation is inherently uncertain and subject to numerous factors outside the Company&#8217;s control. Significant judgment is required when the Company assesses the likelihood of any adverse judgments or outcomes, including the potential range of possible losses, and whether losses are probable and reasonably estimable.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Because of uncertainties related to these matters, the Company bases its estimates of whether a loss contingency is probable or reasonably possible, as well as the reasonable range of possible losses associated with each loss contingency, only on the information available at the time. As additional information becomes available, and at least quarterly, the Company reassesses the potential liability on each significant matter and may revise its estimates. These revisions could have a material impact on the Company&#8217;s business, operating results or financial condition. The actual outcome of these legal proceedings may materially differ from the Company&#8217;s estimates of potential liability, which could have a material adverse effect on the Company&#8217;s business, operating results or financial condition.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Credit Risk and Inventory Supplier Concentrations</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Financial instruments that potentially subject the Company to significant concentrations of credit risk consist primarily of cash and cash equivalents and accounts receivable. Cash equivalents consist of money market funds, which are invested through financial institutions in the United States. Deposits in these financial institutions may, at times, exceed federally insured limits. The Company has not experienced any losses in such accounts. The Company also has approximately </font><font style=\"font-family:inherit;font-size:10pt;\">$3.7 million</font><font style=\"font-family:inherit;font-size:10pt;\"> of cash held by its foreign subsidiaries in Brazil, China and the United Kingdom. Management believes that the financial institutions that hold the Company&#8217;s cash and cash equivalents are financially sound and, accordingly, minimal credit risk exists with respect to these cash and cash equivalents.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Concentrations of credit risk in relation to customers with an accounts receivable balance of 10% or greater of total accounts receivable and customers with net revenue of 10% or greater of total revenue are presented below for the periods indicated.</font></div><div style=\"line-height:120%;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:89.0625%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"11\" rowspan=\"1\"></td></tr><tr><td style=\"width:25%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Percentage of Accounts Receivable</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Percentage of Revenue</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31,</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">&#160;&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">CenturyLink</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">16%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">42%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">18%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">31%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">21%</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Windstream</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">*</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">*</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">*</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">*</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">15%</font></div></td></tr><tr><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td colspan=\"11\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">* Less than 10% of total accounts receivable or revenue.</font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company depends primarily on a small number of outside contract manufacturers (\"CMs\") and original design manufacturers (\"ODMs\") for the bulk of its finished goods inventory. In particular, the Company relied on Flex Ltd for the manufacture of a large percentage of its products through 2018. The Company generally purchases its products through purchase orders with its suppliers. While the Company seeks to maintain a sufficient supply of its products, the Company&#8217;s business and results of operations could be adversely affected by a stoppage or delay in receiving such products, the receipt of defective parts, an increase in price of such products or the Company&#8217;s inability to obtain lower prices from its CMs and other suppliers in response to competitive pressures.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Fair Value of Financial Instruments</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The carrying amounts of cash and cash equivalents, marketable securities, trade receivables, accounts payable, line of credit and other accrued liabilities approximate their fair value due to their relatively short-term nature.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Cash, Cash Equivalents, Restricted Cash and Marketable Securities</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Cash equivalents and marketable securities are stated at amounts that approximate fair value based on quoted market prices. </font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Restricted cash is cash that is legally restricted as to withdrawal or usage. As of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, the Company had </font><font style=\"font-family:inherit;font-size:10pt;\">$0.6 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in restricted cash related to a letter of credit for our San Jose lease.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as corporate debt instruments, commercial paper and U.S. government agency securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent highly liquid corporate debt instruments, commercial paper and U.S. government agency securities with maturities greater than 90 days at date of purchase. Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company&#8217;s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of comprehensive loss in the stockholders&#8217; equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific identification method and are reclassified from accumulated other comprehensive loss to results of operations as &#8220;Other income (expense), net&#8221;. The Company had no investments as of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> and 2017.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Allowance for Doubtful Accounts</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company maintains an allowance for doubtful accounts for estimated losses resulting from the inability of its customers to make required payments. The Company records a specific allowance based on an analysis of individual past-due balances. Additionally, based on historical write-offs and the Company&#8217;s collection experience, the Company records an additional allowance based on a percentage of outstanding receivables. The Company performs credit evaluations of its customers&#8217; financial condition. These evaluations require judgment and are based on a variety of factors including, but not limited to, current economic trends, payment history and a financial review of the customer. Actual collection losses may differ from management&#8217;s estimates, and such differences could be material to our financial position and results of operations.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Inventory Valuation</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Inventory, which primarily consists of finished goods purchased from CMs or ODMs, is stated at the lower of cost (determined by the first-in, first-out method) or market value. Inbound shipping costs and U.S. tariffs are included in cost of inventory. In addition, the Company, from time to time, procures component inventory primarily as a result of manufacturing discontinuation of critical components by suppliers. The Company regularly monitors inventory quantities on hand and records write-downs for excess and obsolete inventories based on the Company&#8217;s estimate of demand for its products, potential obsolescence of technology, product life cycles and whether pricing trends or forecasts indicate that the carrying value of inventory exceeds its estimated selling price. These factors are impacted by market and economic conditions, technology changes and new product introductions and require significant estimates that may include elements that are uncertain. Actual demand may differ from forecasted demand and may have a material effect on gross profit. If inventory is written down, a new cost basis is established that cannot be increased in future periods. Shipments from suppliers or CMs before the Company receives them are recorded as in-transit inventory when title and the significant risks and rewards of ownership have passed to the Company.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Contract Costs</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company capitalizes all incremental costs incurred to obtain a contract with a customer that it would not have incurred if the contract had not been obtained, provided it expects to recover the costs. The Company capitalizes certain sales commissions related primarily to extended warranty and Calix Cloud products for which the expected amortization period is greater than one year. </font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company expects that sales commissions as a result of obtaining customer contracts are recoverable, and therefore the Company defers and capitalizes them as contract costs. Capitalized commissions are amortized as sales and marketing expenses over the period that the related revenue is recognized, which typically range from </font><font style=\"font-family:inherit;font-size:10pt;\">three</font><font style=\"font-family:inherit;font-size:10pt;\"> to </font><font style=\"font-family:inherit;font-size:10pt;\">ten</font><font style=\"font-family:inherit;font-size:10pt;\"> years for extended warranty and cloud offerings. The Company classifies the unamortized portion of deferred commissions as current or noncurrent based on the timing of when the Company expects to recognize the expense.  The current and noncurrent portions of deferred commissions are included in prepaid expenses and other current assets and other assets, respectively, in the Company&#8217;s Consolidated Balance Sheets.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">As of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, the unamortized balance of deferred commissions was&#160;</font><font style=\"font-family:inherit;font-size:10pt;\">$0.8 million</font><font style=\"font-family:inherit;font-size:10pt;\">.&#160;For the year ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, the amount of amortization was&#160;</font><font style=\"font-family:inherit;font-size:10pt;\">$0.1 million</font><font style=\"font-family:inherit;font-size:10pt;\">,&#160;and there was </font><font style=\"font-family:inherit;font-size:10pt;\">no</font><font style=\"font-family:inherit;font-size:10pt;\"> impairment loss in relation to the costs capitalized.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Property and Equipment</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Property and equipment are stated at cost, less accumulated depreciation, and are depreciated using the straight-line method over the estimated useful life of each asset. Generally, computer equipment is depreciated over </font><font style=\"font-family:inherit;font-size:10pt;\">two</font><font style=\"font-family:inherit;font-size:10pt;\"> years; purchased software is depreciated over </font><font style=\"font-family:inherit;font-size:10pt;\">three</font><font style=\"font-family:inherit;font-size:10pt;\"> years; test equipment is depreciated over </font><font style=\"font-family:inherit;font-size:10pt;\">three</font><font style=\"font-family:inherit;font-size:10pt;\"> years; furniture and fixtures are depreciated over </font><font style=\"font-family:inherit;font-size:10pt;\">seven</font><font style=\"font-family:inherit;font-size:10pt;\"> years; and leasehold improvements are depreciated over the shorter of the respective lease term or the estimated useful life of the asset. Maintenance and repairs are charged to expense as incurred.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Goodwill</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Goodwill was recorded as a result of the Company&#8217;s acquisitions of Occam Networks, Inc. (&#8220;Occam&#8221;) in February 2011 and Optical Solutions, Inc. in February 2006. The Company records goodwill when consideration paid in a business acquisition exceeds the fair value of the net tangible assets and the identified intangible assets acquired. Goodwill is not amortized but instead is subject to an annual impairment test or more frequently if events or changes in circumstances indicate that it may be impaired. The Company evaluates goodwill on an annual basis as of the end of the second quarter of each fiscal year. Management has determined that it operates as a single reporting unit and, therefore, evaluates goodwill impairment at the enterprise level.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In an annual impairment test, the Company first assesses qualitative factors to determine whether it is necessary to perform the two-step quantitative goodwill impairment test. In assessing the qualitative factors, management considers the impact of these key factors: macro-economic conditions, industry and market environment, overall financial performance of the Company, cash flow from operating activities, market capitalization and stock price. If the Company determines as a result of the qualitative assessment that it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of a reporting unit is less than its carrying amount, then the quantitative test is required. Otherwise, no further testing is required.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In a quantitative test, the Company compares its fair value to its carrying value including goodwill. The Company determines its fair value using both an income approach and a market approach. Under the income approach, the Company determines fair value based on estimated future cash flows, discounted by an estimated weighted-average cost of capital, which reflects the overall level of inherent risk of the Company and the rate of return an outside investor would expect to earn. Under the market-based approach, the Company utilizes information regarding the Company as well as publicly available industry information to determine earnings multiples that are used to value the Company. If the carrying value of the Company exceeds its fair value, the Company will determine the amount of impairment loss by comparing the implied fair value of goodwill with the carrying value of goodwill. An impairment charge is recognized for the excess of the carrying value of goodwill over its implied fair value.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">At the end of the second quarter of </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\">, the Company completed its annual goodwill impairment test. Based on its assessment of the above qualitative factors, management concluded that the fair value of the Company was more likely than not greater than its carrying amount as of June 30, </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\">. As such, it was not necessary to perform the two-step quantitative goodwill impairment test at the time.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">There have been no significant events or changes in circumstances subsequent to the </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\"> annual impairment test that would more likely than not indicate that the carrying value of goodwill may have been impaired as of December&#160;31, </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\">. Therefore, there was </font><font style=\"font-family:inherit;font-size:10pt;\">no</font><font style=\"font-family:inherit;font-size:10pt;\"> impairment to the carrying value of the Company&#8217;s goodwill as of December&#160;31, </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\">. There were </font><font style=\"font-family:inherit;font-size:10pt;\">no</font><font style=\"font-family:inherit;font-size:10pt;\"> impairment losses for goodwill in the years ended December&#160;31, </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\"> or </font><font style=\"font-family:inherit;font-size:10pt;\">2016</font><font style=\"font-family:inherit;font-size:10pt;\">.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Deferred Revenue</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Deferred revenue results from transactions where the Company billed the customer for products or services and when cash payments are received or due prior to transferring control of the promised goods or services to the customer. </font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Revenue allocated to remaining performance obligations represent contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. This amount was  </font><font style=\"font-family:inherit;font-size:10pt;\">$33.1 million</font><font style=\"font-family:inherit;font-size:10pt;\"> as </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, and the Company expects to recognize </font><font style=\"font-family:inherit;font-size:10pt;\">47%</font><font style=\"font-family:inherit;font-size:10pt;\"> of such revenue over the next year and the remainder thereafter.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Payment terms to customers typically range from net&#160;30&#160;to net&#160;90&#160;days and vary by the size and location of customer and the products or services offered. The period between the transfer of control of the promised good or service to a customer and when payment is due is not significant.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Income Taxes</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company evaluates its tax positions and estimates its current tax exposure along with assessing temporary differences that result from different book to tax treatment of items not currently deductible for tax purposes. These differences result in deferred tax assets and liabilities on the Company&#8217;s Consolidated Balance Sheets, which are estimated based upon the difference between the financial statement and tax bases of assets and liabilities using the enacted tax rates that will be in effect when these differences reverse. In general, deferred tax assets represent future tax benefits to be received when certain expenses previously recognized in the Company&#8217;s Consolidated Statements of Comprehensive Loss become deductible expenses under applicable income tax laws or loss or credit carryforwards are utilized. Accordingly, realization of the Company&#8217;s deferred tax assets is dependent on future taxable income against which these deductions, losses and credits can be utilized.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company must assess the likelihood that the Company&#8217;s deferred tax assets will be recovered from future taxable income, and to the extent the Company believes that recovery is not more likely than not, the Company must establish a valuation allowance. Management judgment is required in determining the Company&#8217;s provision for income taxes, the Company&#8217;s deferred tax assets and liabilities and any valuation allowance recorded against the Company&#8217;s net deferred tax assets. Excluding foreign operations, the Company recorded a full valuation allowance at each balance sheet date presented because, based on the available evidence, the Company believes it is more likely than not that it will not be able to utilize all of its deferred tax assets in the future. The Company intends to maintain the full valuation allowance until sufficient evidence exists to support the reversal of the valuation allowance.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Newly Adopted Accounting Standards</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Revenue from Contracts with Customers</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In May 2014, the FASB issued Accounting Standards Update No. (&#8220;ASU&#8221;) 2014-09, &#8220;</font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Revenue from Contracts with Customers</font><font style=\"font-family:inherit;font-size:10pt;\"> </font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">(Topic 606)&#8221;</font><font style=\"font-family:inherit;font-size:10pt;\">, which provides guidance for revenue recognition. ASU 2014-09 supersedes the revenue recognition requirements in Topic 605, &#8220;</font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Revenue Recognition&#8221;</font><font style=\"font-family:inherit;font-size:10pt;\">, and most industry-specific guidance. Additionally, it supersedes some cost guidance included in Subtopic 605-35, &#8220;</font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Revenue Recognition-Construction-Type and Production-Type Contracts&#8221;</font><font style=\"font-family:inherit;font-size:10pt;\">, and creates new Subtopic 340-40, &#8220;</font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Other Assets and Deferred Costs-Contracts with Customers</font><font style=\"font-family:inherit;font-size:10pt;\">.&#8221; The Company determines revenue recognition through the following steps: identification of the contract, or contracts, with a customer; identification of the performance obligations in the contract; determination of the transaction price; allocation of the transaction price to the performance obligations in the contract; and recognition of revenue when, or as, the Company satisfies a performance obligation. The standard&#8217;s core principle is that a company will recognize revenue when it transfers promised goods or services to customers in an amount that reflects the consideration to which the company expects to be entitled in exchange for those goods or services. In doing so, companies will need to use more judgment and make more estimates than under the previous guidance. These may include identifying performance obligations in the contract, estimating the amount of variable consideration to include in the transaction price and allocating the transaction price to each separate performance obligation. The new standard permits adoption by using either (i) a full retrospective approach for all periods presented in the period of adoption or (ii) a modified retrospective approach with the cumulative effect of initially applying the new standard recognized at the date of initial application and providing certain additional disclosures.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">On January 1, 2018, the Company adopted Topic 606 and Subtopic 340-40 using the modified retrospective transition method applied to those contracts which were not completed as of January 1, 2018. Accordingly, results for reporting periods beginning after January 1, 2018 are presented under Topic 606, while results for prior periods have not been restated and continues to be reported under the accounting standards in effect for those periods. The Company recognized the cumulative effect of initially applying the standards as an adjustment to the opening balance of accumulated deficit of </font><font style=\"font-family:inherit;font-size:10pt;\">$1.8 million</font><font style=\"font-family:inherit;font-size:10pt;\"> as of January 1, 2018, with the impact primarily relating to deferring the costs of obtaining contracts (sales commissions) and the upfront recognition of software license revenue. The impact to revenue of applying Topic 606 for the year ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">&#160;was an increase of&#160;</font><font style=\"font-family:inherit;font-size:10pt;\">$1.7 million</font><font style=\"font-family:inherit;font-size:10pt;\">.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Practical Expedients</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company expenses sales commissions as sales and marketing expenses when incurred if the expected amortization period is one year or less. This applies generally to all transactions other than extended warranty contracts and Calix Cloud products.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company does not adjust the promised amount of consideration for the effects of a significant financing component if the Company expects, at contract inception, that the period between when the Company transfers a promised good or service to a customer and when the customer pays for that good or service will be one year or less.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Cumulative Effect of Adoption</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The cumulative effect of changes made to the Consolidated January 1, 2018 Balance Sheet was as follows (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.28125%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"18\" rowspan=\"1\"></td></tr><tr><td style=\"width:45%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:14%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Balance at December 31, 2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Adjustments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Balance at   January 1, 2018</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accounts receivable, net</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">80,392</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">491</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">80,883</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Prepaid expenses and other current assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,759</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(245</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,514</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other assets</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">759</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">698</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,457</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">295,070</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">944</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">296,014</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Deferred revenue</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">13,076</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(829</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,247</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total liabilities</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">150,107</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(829</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">149,278</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accumulated deficit</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(667,357</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,773</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(665,584</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total liabilities and stockholders&#8217; equity</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">295,070</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">944</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">296,014</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr></table></div></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The impact of adopting the new revenue standard on the Company&#8217;s consolidated financial statements as of and for the year ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> were as follows (in thousands):</font></div><div style=\"line-height:120%;padding-bottom:9px;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Consolidated Balance Sheet</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:93.5546875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"18\" rowspan=\"1\"></td></tr><tr><td style=\"width:53%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">As of December 31, 2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">As Reported</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Adjustments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Balances Without Adoption of Topic 606</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accounts receivable, net</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">67,026</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1,095</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">65,931</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Prepaid expenses and other current assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7,306</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">953</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,259</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other assets</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,203</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(567</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">636</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">317,080</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(709</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">316,371</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued liabilities</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">57,869</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(880</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">56,989</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Deferred revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">33,096</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,801</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">35,897</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total liabilities</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">165,146</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,921</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">167,067</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accumulated deficit</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(684,882</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2,630</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(687,512</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total liabilities and stockholders&#8217; equity</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">317,080</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(709</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">316,371</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr></table></div></div><div style=\"line-height:120%;padding-top:4px;text-align:left;text-indent:29px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-bottom:9px;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Consolidated Statement of Comprehensive Loss</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:95.3125%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"18\" rowspan=\"1\"></td></tr><tr><td style=\"width:56%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Year Ended December 31, 2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">As Reported</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Adjustments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Balances Without Adoption of Topic 606</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Revenue:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Systems</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">405,923</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(3,253</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">402,670</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Services</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">35,397</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,559</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">36,956</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">441,320</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1,694</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">439,626</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Cost of revenue:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Systems</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">216,529</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1,052</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">215,477</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Services</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">27,409</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">274</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">27,683</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total cost of revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">243,938</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(778</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">243,160</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Gross profit</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">197,382</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(916</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">196,466</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Sales and marketing</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">86,432</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(59</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">86,373</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net loss</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(19,298</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(857</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(20,155</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Cloud Computing Costs</font></div><div style=\"line-height:120%;padding-bottom:6px;padding-top:6px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In August 2018, the FASB issued ASU 2018-15, </font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">&#8220;Intangibles (Topic 350): Customer&#8217;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract&#8221;</font><font style=\"font-family:inherit;font-size:10pt;\">, which aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. This new standard also requires customers to expense the capitalized implementation costs of a hosting arrangement that is a service contract over the term of the hosting arrangement. This new standard becomes effective for the Company in the first quarter of 2020, with early adoption permitted. This new standard can be applied either retrospectively or prospectively to all implementation costs incurred after the date of adoption. The Company adopted the standard prospectively in the fourth quarter of 2018, resulting in the capitalization of </font><font style=\"font-family:inherit;font-size:10pt;\">$1.2 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in implementation costs related to the Company's SaaS-based enterprise resource planning infrastructure project.</font></div><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Statement of Cash Flows</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In November 2016, the FASB issued ASU 2016-18, an update to </font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">&#8220;Statement of Cash Flows (Topic 230)&#8221;</font><font style=\"font-family:inherit;font-size:10pt;\">, to provide guidance on classification and presentation of changes in restricted cash on the statement of cash flows. ASU 2016-18 requires that an entity&#8217;s reconciliation of the beginning-of-period and end-of-period total amounts shown on the statement of cash flows to include restricted cash within cash and cash equivalents. The Company adopted ASU 2016-18 in 2018. Prior to 2018, the Company did not have restricted cash. As of December 31, 2018, the Company classified </font><font style=\"font-family:inherit;font-size:10pt;\">$0.6 million</font><font style=\"font-family:inherit;font-size:10pt;\"> as restricted cash in our Consolidated Balance Sheets. The adoption of ASU 2016-18 did not have a material impact on our Consolidated Statements of Cash Flows.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Recent Accounting Pronouncements Not Yet Adopted</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Leases</font></div><div style=\"line-height:120%;padding-bottom:6px;padding-top:6px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In February 2016, the FASB issued ASU 2016-02, </font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">&#8220;Leases (Topic 842)&#8221;</font><font style=\"font-family:inherit;font-size:10pt;\">, which requires recognition of an asset and liability for lease arrangements longer than twelve months. ASU 2016-02 will be effective for the Company beginning in the first quarter of 2019. The standard can be adopted using either a modified retrospective approach, whereby the Company would recognize and measure leases at the beginning of the earliest period presented, or the effective date approach, whereby the Company would initially account for the impact of the adoption with a cumulative-effect adjustment to the January 1, 2019 financial statements. The effective date approach will eliminate the need to restate amounts presented prior to January 1, 2019. The Company adopted the new standard effective January 1, 2019 using the effective date approach. Upon adoption of the standard, the Company's assets and liabilities will increase by approximately </font><font style=\"font-family:inherit;font-size:10pt;\">$16 million</font><font style=\"font-family:inherit;font-size:10pt;\"> as the new standard requires recognition of right-of-use assets and lease liabilities for operating leases, but the new standard does not impact its Statements of Comprehensive Loss or Cash Flows.</font></div></div>"}]},{"name":"rpt:f-955","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Cash and Cash Equivalents</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Cash and cash equivalents consisted of the following (in thousands):</font></div><div style=\"line-height:120%;padding-top:8px;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.8671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Cash and cash equivalents:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Cash</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">45,806</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">35,999</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Money market funds</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,840</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,776</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">49,646</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">39,775</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The carrying amounts of the Company&#8217;s money market funds approximate their fair values due to their nature, duration and short maturities.</font></div></div>"}]},{"name":"rpt:f-956","factDimensions":{"xbrl:concept":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Commitments and Contingencies</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Lease Commitments</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company leases office space under non-cancelable operating leases. Certain of the Company&#8217;s operating leases contain renewal options and rent acceleration clauses. Future minimum payments under the non-cancelable operating leases consisted of the following as of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> (in&#160;thousands):</font></div><div style=\"line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:41.5506958250497%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"5\" rowspan=\"1\"></td></tr><tr><td style=\"width:54%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:8%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:36%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Year Ending December 31,</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Minimum Future Lease Payments</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2019</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,750</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2020</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,817</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2021</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,468</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2022</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,300</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2023</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,411</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Thereafter</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,053</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">23,799</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. In March 2018, the Company entered into this lease agreement for approximately </font><font style=\"font-family:inherit;font-size:10pt;\">65,000</font><font style=\"font-family:inherit;font-size:10pt;\"> square feet, which commenced in September 2018.  The future minimum lease payments under the lease are </font><font style=\"font-family:inherit;font-size:10pt;\">$16.1 million</font><font style=\"font-family:inherit;font-size:10pt;\"> and are included in the table above.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In June 2018, the Company entered into a co-location license agreement to lease data center space in West Jordan, Utah for a term of </font><font style=\"font-family:inherit;font-size:10pt;\">84 months</font><font style=\"font-family:inherit;font-size:10pt;\">. The future minimum lease payments under the lease are </font><font style=\"font-family:inherit;font-size:10pt;\">$2.9 million</font><font style=\"font-family:inherit;font-size:10pt;\"> and are included in the table above.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In August 2018, the Company entered into a new office lease agreement for </font><font style=\"font-family:inherit;font-size:10pt;\">22,000</font><font style=\"font-family:inherit;font-size:10pt;\"> square feet in Petaluma, California as its current office lease in Petaluma, California expires in February 2019. The lease is expected to commence in March 2019 for a term of </font><font style=\"font-family:inherit;font-size:10pt;\">64 months</font><font style=\"font-family:inherit;font-size:10pt;\">. The future minimum lease payments of </font><font style=\"font-family:inherit;font-size:10pt;\">$2.8 million</font><font style=\"font-family:inherit;font-size:10pt;\"> are included in the table above.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The above table also includes future minimum lease payments for the Company's office facilities in Minneapolis, Minnesota; Nanjing, China; Richardson, Texas; and the current office in Petaluma, California, which expire at various dates through 2022.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">For the years ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">2016</font><font style=\"font-family:inherit;font-size:10pt;\">, total rent expense of the Company was </font><font style=\"font-family:inherit;font-size:10pt;\">$3.4 million</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">$3.7 million</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">$3.5 million</font><font style=\"font-family:inherit;font-size:10pt;\">, respectively.</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Purchase Commitments</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company&#8217;s CMs place orders for component inventory in advance based upon the Company&#8217;s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CM to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs. The Company places purchase orders with its CMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs convert the component inventory to a finished product and takes ownership of the inventory when transferred to the designated shipping warehouse. In the event of termination of services with a CM, the Company has purchased, and may be required to purchase in the future, the remaining components inventory held by the CM as well as any outstanding orders pursuant to the contractual provisions with such CM. As of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, the Company had approximately </font><font style=\"font-family:inherit;font-size:10pt;\">$42.0 million</font><font style=\"font-family:inherit;font-size:10pt;\"> of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within one year.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company has from time to time, and subject to certain conditions, reimbursed its CMs for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of parts by its suppliers, or in cases where inventory levels greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying balance sheets, were </font><font style=\"font-family:inherit;font-size:10pt;\">$2.7 million</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">$2.4 million</font><font style=\"font-family:inherit;font-size:10pt;\"> as of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\">, respectively. The Company records the related charges in cost of systems revenue in its Consolidated Statements of Comprehensive Loss.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In March 2018, the Company entered into an agreement with a vendor for engineering services pursuant to which the Company will be obligated to make future minimum payments of </font><font style=\"font-family:inherit;font-size:10pt;\">$15.8 million</font><font style=\"font-family:inherit;font-size:10pt;\"> through 2022.</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Contingencies</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company evaluates the circumstances regarding outstanding and potential litigation and other contingencies on a quarterly basis to determine whether there is at least a reasonable possibility that a loss exists requiring accrual or disclosure, and if so, whether an estimate of the possible loss or range of loss can be made. When a loss is probable and reasonably estimable, the Company accrues for such amount based on its estimate of the probable loss considering information available at that time. When a loss is reasonably possible, the Company discloses the estimated possible loss or range of loss in excess of amounts accrued if material. Except as otherwise disclosed below, the Company does not believe that there was a reasonable possibility that a material loss may have been incurred during the period presented with respect to the matters disclosed.</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Litigation</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceedings that, if determined adversely to the Company, in management&#8217;s opinion, are currently expected to individually or in the aggregate have a material adverse effect on the Company&#8217;s business, operating results or financial condition taken as a whole.</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Indemnifications</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company from time to time enters into contracts that require it to indemnify various parties against claims from third parties. These contracts primarily relate to (i)&#160;certain real estate leases, under which the Company may be required to indemnify property owners for environmental and other liabilities, and other claims arising from the Company&#8217;s use of the applicable premises, (ii)&#160;agreements with the Company&#8217;s officers, directors and certain employees, under which the Company may be required to indemnify such persons for liabilities arising out of their relationship with the Company, (iii)&#160;contracts under which the Company may be required to indemnify customers against third-party claims that a Company product infringes a patent, copyright or other intellectual property right and (iv)&#160;agreements under which the Company may be required to indemnify the counterparty for certain claims that may be brought against them arising from the Company&#8217;s acts or omissions with respect to the transactions contemplated by such agreements.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Because any potential obligation associated with these types of contractual provisions are not quantified or stated, the overall maximum amount of the obligation cannot be reasonably estimated. Historically, the Company has not been required to make payments under these obligations, and no liabilities have been recorded for these obligations in the accompanying Consolidated Balance Sheets.</font></div></div>"}]},{"name":"rpt:f-957","factDimensions":{"xbrl:concept":"us-gaap:CommitmentsAndContingenciesPolicyTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Loss Contingencies</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">From time to time, the Company is involved in legal proceedings arising from the normal course of business activities. The Company evaluates the likelihood of an unfavorable outcome of legal proceedings to which it is a party and accrues a loss contingency when the loss is probable and reasonably estimable. Assessing legal contingencies involves significant judgment and estimates, and the outcome of litigation is inherently uncertain and subject to numerous factors outside the Company&#8217;s control. Significant judgment is required when the Company assesses the likelihood of any adverse judgments or outcomes, including the potential range of possible losses, and whether losses are probable and reasonably estimable.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Because of uncertainties related to these matters, the Company bases its estimates of whether a loss contingency is probable or reasonably possible, as well as the reasonable range of possible losses associated with each loss contingency, only on the information available at the time. As additional information becomes available, and at least quarterly, the Company reassesses the potential liability on each significant matter and may revise its estimates. These revisions could have a material impact on the Company&#8217;s business, operating results or financial condition. The actual outcome of these legal proceedings may materially differ from the Company&#8217;s estimates of potential liability, which could have a material adverse effect on the Company&#8217;s business, operating results or financial condition.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\"></font></div></div>"}]},{"name":"rpt:f-958","factDimensions":{"xbrl:concept":"us-gaap:CompensationAndEmployeeBenefitPlansTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Employee Benefit Plan</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company sponsors a 401(k) tax-deferred savings plan for all employees who meet certain eligibility requirements. Participants may contribute, on a pre-tax basis, a percentage of their annual compensation, but not to exceed a maximum contribution amount pursuant to Section&#160;401(k) of the Internal Revenue Code. The Company, at the discretion of the Board of Directors, may make additional matching contributions on behalf of the participants. The Company made matching contributions totaling </font><font style=\"font-family:inherit;font-size:10pt;\">$2.5 million</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">$3.0 million</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">$2.1 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">2016</font><font style=\"font-family:inherit;font-size:10pt;\">, respectively.</font></div></div>"}]},{"name":"rpt:f-959","factDimensions":{"xbrl:concept":"us-gaap:ComprehensiveIncomeNoteTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Accumulated Other Comprehensive Loss</font></div><div style=\"line-height:120%;padding-top:8px;text-indent:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The table below summarizes the changes in accumulated other comprehensive loss by component:</font></div><div style=\"line-height:120%;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Unrealized Gains and Losses on Available-for-Sale Marketable Securities</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Foreign Currency Translation Adjustments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Total</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at December 31, 2016</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(6</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(650</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(656</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other comprehensive income</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">481</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">487</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at December 31, 2017</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(169</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(169</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other comprehensive loss</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(584</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(584</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at December 31, 2018</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">(753</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">(753</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">)</font></div></td></tr></table></div></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Assets and liabilities of the Company&#8217;s wholly owned foreign subsidiaries are translated from their respective functional currencies at exchange rates in effect at the balance sheet date, and revenue and expenses are translated at the monthly average exchanges rates. These translations result in differences called foreign currency translation adjustments. Realized foreign currency transaction gains or losses were not significant during the years ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">2016</font><font style=\"font-family:inherit;font-size:10pt;\"> and are recorded in &#8220;Other income (expense), net&#8221; in our Consolidated Statements of Comprehensive Loss.</font></div></div>"}]},{"name":"rpt:f-960","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskDisclosureTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Credit Risk and Inventory Supplier Concentrations</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Financial instruments that potentially subject the Company to significant concentrations of credit risk consist primarily of cash and cash equivalents and accounts receivable. Cash equivalents consist of money market funds, which are invested through financial institutions in the United States. Deposits in these financial institutions may, at times, exceed federally insured limits. The Company has not experienced any losses in such accounts. The Company also has approximately </font><font style=\"font-family:inherit;font-size:10pt;\">$3.7 million</font><font style=\"font-family:inherit;font-size:10pt;\"> of cash held by its foreign subsidiaries in Brazil, China and the United Kingdom. Management believes that the financial institutions that hold the Company&#8217;s cash and cash equivalents are financially sound and, accordingly, minimal credit risk exists with respect to these cash and cash equivalents.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Concentrations of credit risk in relation to customers with an accounts receivable balance of 10% or greater of total accounts receivable and customers with net revenue of 10% or greater of total revenue are presented below for the periods indicated.</font></div><div style=\"line-height:120%;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:89.0625%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"11\" rowspan=\"1\"></td></tr><tr><td style=\"width:25%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Percentage of Accounts Receivable</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Percentage of Revenue</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31,</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">&#160;&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">CenturyLink</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">16%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">42%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">18%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">31%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">21%</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Windstream</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">*</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">*</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">*</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">*</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">15%</font></div></td></tr><tr><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td colspan=\"11\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">* Less than 10% of total accounts receivable or revenue.</font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company depends primarily on a small number of outside contract manufacturers (\"CMs\") and original design manufacturers (\"ODMs\") for the bulk of its finished goods inventory. In particular, the Company relied on Flex Ltd for the manufacture of a large percentage of its products through 2018. The Company generally purchases its products through purchase orders with its suppliers. While the Company seeks to maintain a sufficient supply of its products, the Company&#8217;s business and results of operations could be adversely affected by a stoppage or delay in receiving such products, the receipt of defective parts, an increase in price of such products or the Company&#8217;s inability to obtain lower prices from its CMs and other suppliers in response to competitive pressures.</font></div></div>"}]},{"name":"rpt:f-961","factDimensions":{"xbrl:concept":"us-gaap:ConsolidationPolicyTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Basis of Presentation</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The accompanying consolidated financial statements have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (&#8220;SEC&#8221;). In the opinion of management, the consolidated financial statements include all normal and recurring adjustments that are considered necessary for the fair presentation of the Company&#8217;s financial position and operating results. All significant intercompany balances and transactions have been eliminated in consolidation. </font></div></div>"}]},{"name":"rpt:f-962","factDimensions":{"xbrl:concept":"us-gaap:CostOfSalesPolicyTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Cost of Revenue</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Cost of revenue consists primarily of finished goods inventory purchased from the Company&#8217;s contract manufacturers, payroll and related expenses associated with managing the relationships with contract manufacturers, depreciation of manufacturing test equipment, warranty and retrofit costs, excess and obsolete inventory costs, shipping charges and amortization of certain intangible assets. It also includes contractor and other costs of services incurred directly related to the delivery of services to customers.</font></div></div>"}]},{"name":"rpt:f-963","factDimensions":{"xbrl:concept":"us-gaap:DebtDisclosureTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Credit Agreements</font></div><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Line of Credit</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">On August 7, 2017, the Company entered into a loan and security agreement (the &#8220;Loan Agreement&#8221;) with Silicon Valley Bank (&#8220;SVB&#8221;). The Loan Agreement provides for a senior secured revolving credit facility with SVB, pursuant to which SVB agreed to make revolving advances available to the Company in a principal amount of up to </font><font style=\"font-family:inherit;font-size:10pt;\">$30.0 million</font><font style=\"font-family:inherit;font-size:10pt;\"> based on a customary accounts receivable borrowing base, subject to certain exceptions for accounts originating outside the United States and certain specific accounts, which could reduce the amount available to the Company under the credit facility.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The credit facility includes affirmative and negative covenants applicable to the Company and its subsidiaries. Furthermore, the Loan Agreement requires the Company to maintain a liquidity ratio at minimum levels set forth in more detail in the Loan Agreement. The credit facility also includes events of default, the occurrence and continuation of which would provide SVB with the right to demand immediate repayment of any principal and unpaid interest under the credit facility, and to exercise remedies against the Company and the collateral securing the loans under the credit facility. For the month ended November 30, 2017, the Company was not able to maintain the minimum Adjusted Quick Ratio (&#8220;AQR&#8221;), (as defined in the Loan Agreement) at the level required in the Loan Agreement, which constituted an event of default. Although SVB waived this event of default effective as of November 30, 2017 and, therefore, this default did not change the Company&#8217;s ability to borrow under the Loan Agreement, the Company was required to amend certain covenants under the Loan Agreement. In February 2018, the Company entered into an amendment to the Loan Agreement that, among other things, amended certain affirmative financial covenants, including reductions to the required minimum level of the AQR and the inclusion of an additional financial covenant related to the maintenance of Adjusted EBITDA (as defined in the Loan Agreement, as amended). In August 2018, the Company entered into a second amendment to the Loan Agreement that, among other things, extended the maturity date from August 7, 2019 to August 7, 2020, amended certain financial covenants, including covenants with respect to the AQR and the Adjusted EBITDA, and changed the compliance requirements for the AQR covenant from a monthly basis to a quarterly basis. As of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, the Company was in compliance with these requirements.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">As of December&#160;31, 2018 and December 31, 2017, the Company had borrowings outstanding of </font><font style=\"font-family:inherit;font-size:10pt;\">$30.0 million</font><font style=\"font-family:inherit;font-size:10pt;\">, representing the full amount available under the line of credit. Our interest rate on the letter of credit was </font><font style=\"font-family:inherit;font-size:10pt;\">7.0%</font><font style=\"font-family:inherit;font-size:10pt;\"> as of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">5.8%</font><font style=\"font-family:inherit;font-size:10pt;\"> as of December 31, 2017.</font></div><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Equipment Financing Arrangements</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">During 2018, the Company entered into financing arrangements to purchase lab and test equipment for approximately </font><font style=\"font-family:inherit;font-size:10pt;\">$5.1 million</font><font style=\"font-family:inherit;font-size:10pt;\">. Each agreement is to be paid over </font><font style=\"font-family:inherit;font-size:10pt;\">36 months</font><font style=\"font-family:inherit;font-size:10pt;\"> with a weighted average interest rate of </font><font style=\"font-family:inherit;font-size:10pt;\">6.2%</font><font style=\"font-family:inherit;font-size:10pt;\">.</font></div></div>"}]},{"name":"rpt:f-964","factDimensions":{"xbrl:concept":"us-gaap:DeferredRevenueByArrangementDisclosureTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Deferred revenue consisted of the following (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.3674280039722%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Current:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product and services</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">11,600</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,125</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Extended warranty</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4,000</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,951</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">15,600</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">13,076</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Non-current:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product and services</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">440</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">18</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Extended warranty</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">17,056</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">20,627</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">17,496</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">20,645</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">33,096</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">33,721</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-965","factDimensions":{"xbrl:concept":"us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Product Line Divestiture </font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In February 2018, the Company sold its outdoor cabinet product line to Clearfield, Inc. (&#8220;Clearfield&#8221;) for </font><font style=\"font-family:inherit;font-size:10pt;\">$10.4 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in cash as well as the assumption by Clearfield of the related product warranty liabilities and open purchase order commitments with a CM. The Company transferred </font><font style=\"font-family:inherit;font-size:10pt;\">$2.1 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in net inventory and agreed to solicit orders on Clearfield&#8217;s behalf on the newly transferred outdoor cabinets product lines free of charge for </font><font style=\"font-family:inherit;font-size:10pt;\">15 months</font><font style=\"font-family:inherit;font-size:10pt;\">. The Company established a liability of </font><font style=\"font-family:inherit;font-size:10pt;\">$1.6 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in deferred revenue for providing this service and is amortizing this amount to service revenue over the corresponding 15-month period. The Company also recognized a </font><font style=\"font-family:inherit;font-size:10pt;\">$6.7 million</font><font style=\"font-family:inherit;font-size:10pt;\"> gain for the year ended December 31, 2018 within operating expenses in the accompanying Consolidated Statements of Comprehensive Loss.</font></div></div>"}]},{"name":"rpt:f-966","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Net Loss Per Common Share</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table sets forth the computation of basic and diluted net loss per common share for the periods indicated (in thousands, except per share data):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Numerator:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net loss</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(19,298</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(83,032</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(27,402</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Denominator:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Weighted-average common shares outstanding</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">52,609</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">50,155</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">48,730</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Basic and diluted net loss per common share</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.37</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.66</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.56</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Potentially dilutive shares, weighted-average</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,833</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,446</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,890</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">For the year ended December 31, 2018 and 2017, unvested restricted stock awards are included in the calculation of basic weighted-average shares because such shares are participating securities; however, the impact was immaterial. There were no unvested restricted stock awards for the year ended December 31, 2016.</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Potentially dilutive shares have been excluded from the computation of diluted net loss per common share when their effect is antidilutive. These antidilutive shares were primarily from stock options, restricted stock units and performance restricted stock units. For each of the periods presented where the Company reported a net loss, the effect of all potentially dilutive securities would be antidilutive, and as a result diluted net loss per common share is the same as basic net loss per common share.</font></div></div>"}]},{"name":"rpt:f-967","factDimensions":{"xbrl:concept":"us-gaap:FairValueDisclosuresTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Fair Value Measurements</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy which prioritizes the inputs used in measuring fair value:</font></div><div style=\"line-height:120%;padding-top:8px;padding-left:48px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Level 1 &#8211; Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.</font></div><div style=\"line-height:120%;padding-top:8px;padding-left:48px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Level 2 &#8211; Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.</font></div><div style=\"line-height:120%;padding-top:8px;padding-left:48px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Level 3 &#8211; Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.</font></div><div style=\"line-height:120%;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">As of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\">, the Company had money market funds of </font><font style=\"font-family:inherit;font-size:10pt;\">$3.8 million</font><font style=\"font-family:inherit;font-size:10pt;\"> for each period, and each was classified as a Level 1 financial asset. The fair values of money market funds classified as Level 1 were derived from quoted market prices as active markets for these instruments exist. The Company had no Level 2 or Level 3 financial assets.</font></div></div>"}]},{"name":"rpt:f-968","factDimensions":{"xbrl:concept":"us-gaap:FairValueOfFinancialInstrumentsPolicy","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Fair Value of Financial Instruments</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The carrying amounts of cash and cash equivalents, marketable securities, trade receivables, accounts payable, line of credit and other accrued liabilities approximate their fair value due to their relatively short-term nature.</font></div></div>"}]},{"name":"rpt:f-969","factDimensions":{"xbrl:concept":"us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Goodwill</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Goodwill was recorded as a result of the Company&#8217;s acquisitions of Occam Networks, Inc. (&#8220;Occam&#8221;) in February 2011 and Optical Solutions, Inc. in February 2006. The Company records goodwill when consideration paid in a business acquisition exceeds the fair value of the net tangible assets and the identified intangible assets acquired. Goodwill is not amortized but instead is subject to an annual impairment test or more frequently if events or changes in circumstances indicate that it may be impaired. The Company evaluates goodwill on an annual basis as of the end of the second quarter of each fiscal year. Management has determined that it operates as a single reporting unit and, therefore, evaluates goodwill impairment at the enterprise level.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In an annual impairment test, the Company first assesses qualitative factors to determine whether it is necessary to perform the two-step quantitative goodwill impairment test. In assessing the qualitative factors, management considers the impact of these key factors: macro-economic conditions, industry and market environment, overall financial performance of the Company, cash flow from operating activities, market capitalization and stock price. If the Company determines as a result of the qualitative assessment that it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of a reporting unit is less than its carrying amount, then the quantitative test is required. Otherwise, no further testing is required.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In a quantitative test, the Company compares its fair value to its carrying value including goodwill. The Company determines its fair value using both an income approach and a market approach. Under the income approach, the Company determines fair value based on estimated future cash flows, discounted by an estimated weighted-average cost of capital, which reflects the overall level of inherent risk of the Company and the rate of return an outside investor would expect to earn. Under the market-based approach, the Company utilizes information regarding the Company as well as publicly available industry information to determine earnings multiples that are used to value the Company. If the carrying value of the Company exceeds its fair value, the Company will determine the amount of impairment loss by comparing the implied fair value of goodwill with the carrying value of goodwill. An impairment charge is recognized for the excess of the carrying value of goodwill over its implied fair value.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">At the end of the second quarter of </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\">, the Company completed its annual goodwill impairment test. Based on its assessment of the above qualitative factors, management concluded that the fair value of the Company was more likely than not greater than its carrying amount as of June 30, </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\">. As such, it was not necessary to perform the two-step quantitative goodwill impairment test at the time.</font></div></div>"}]},{"name":"rpt:f-970","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxDisclosureTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Income Taxes </font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The domestic and foreign components of loss before provision for incomes taxes were as follows (in thousands):</font></div><div style=\"line-height:120%;text-align:center;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Domestic</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(20,463</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(84,387</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(28,931</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Foreign</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,695</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,598</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,876</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(18,768</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(81,789</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(27,055</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:6px;text-indent:24px;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:12px;text-indent:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Provision for income taxes consisted of the following (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Current:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">State</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">105</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">115</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">102</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Foreign</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">360</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">577</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">673</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Current income tax</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">465</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">692</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">775</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Deferred foreign income tax (benefit)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">65</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">551</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(428</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">530</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,243</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">347</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The differences between the statutory tax rate and the effective tax rate, expressed as a percentage of loss before income taxes, were as follows:</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"10\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"8\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Federal statutory rate</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">21.0</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">34.0</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">34.0</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;%</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">State statutory rate</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5.7</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4.5</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.1</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Foreign operations</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.3</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.5</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.6</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">R&amp;D tax credits</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.2</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2.7</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.4</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Foreign income inclusion</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.2</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.1</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.7</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Non-deductible stock compensation</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(4.3</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(3.7</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(5.1</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other permanent items</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.6</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.4</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.4</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Tax true-up</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2.3</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.7</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">21.0</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Valuation allowance</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(25.6</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">67.3</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(62.2</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Tax reform</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(104.6</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Topic 606 adjustment</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2.0</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Effective tax rate</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2.8</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)%</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.5</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)%</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.3</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)%</font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The significant components of the Company&#8217;s deferred tax assets were as follows (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.8671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Deferred tax assets:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net operating loss carryforwards</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">132,420</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">134,731</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Tax credit carryforwards</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">46,884</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">43,095</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Depreciation and amortization</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,924</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,892</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accruals and reserves</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,021</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7,933</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Deferred revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7,815</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7,928</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Stock-based compensation</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4,447</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,100</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Intangible assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">37</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">64</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">23</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Gross deferred tax assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">203,553</font></div></td><td style=\"vertical-align:bottom;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">198,766</font></div></td><td style=\"vertical-align:bottom;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Valuation allowance</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(203,550</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(198,746</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">20</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">All deferred tax assets, along with any related valuation allowance, are classified in the Consolidated Balance Sheet as long-term.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Management reviews the recognition of deferred tax assets to determine if realization of such assets is more likely than not. The realization of the Company&#8217;s deferred tax assets is dependent upon future earnings. The Company has been in a cumulative loss position since inception, which represents a significant piece of negative evidence. Using the more likely than not criteria specified in the applicable accounting guidance, this negative evidence cannot be overcome by positive evidence currently available to the Company. As a result, the Company has established a full valuation allowance against its deferred tax assets with the exception of certain foreign deferred tax assets. The Company&#8217;s valuation allowance increased by </font><font style=\"font-family:inherit;font-size:10pt;\">$4.8 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\"> and decreased by </font><font style=\"font-family:inherit;font-size:10pt;\">$40.5 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\">.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">As of December&#160;31, 2018, the Company had U.S. federal and state net operating losses of approximately </font><font style=\"font-family:inherit;font-size:10pt;\">$597.0 million</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">$189.5 million</font><font style=\"font-family:inherit;font-size:10pt;\">, respectively. The U.S. federal net operating loss carryforwards have begun to expire and will continue to expire at various dates through 2037 if not utilized. The state net operating loss carryforwards have begun to expire and will continue to expire at various dates through 2037, if not utilized. Additionally, the Company has U.S. federal, California and other U.S. states research and development credits of approximately </font><font style=\"font-family:inherit;font-size:10pt;\">$35.4 million</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">$35.0 million</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">$3.0 million</font><font style=\"font-family:inherit;font-size:10pt;\">, respectively, as of December&#160;31, 2018. The U.S. federal research and development credits will begin to expire in 2020 and the California research and development credits have no expiration date. The credits related to other various U.S. states began to expire in 2018.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Uncertain Tax Positions</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">ASC Topic 740, </font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">&#8220;Income Taxes,&#8221; </font><font style=\"font-family:inherit;font-size:10pt;\">prescribes a recognition threshold and measurement attribute to the financial statement recognition and measurement of a tax position taken or expected to be taken in a tax return. The guidance also provides guidance on derecognition, classification, accounting in interim periods and disclosure requirements for uncertain tax positions. The standard requires the Company to recognize the financial statement effects of an uncertain tax position when it is more likely than not that such position will be sustained upon audit. The Company recognizes accrued interest and penalties related to unrecognized tax benefits as interest expense and income tax expense, respectively, in statements of comprehensive loss.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table reconciles the Company&#8217;s unrecognized tax benefits (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.8671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at beginning of year</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">20,289</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">18,349</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;&#160;&#160;&#160;Additions for tax positions related to prior year</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">516</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;&#160;&#160;&#160;Additions for tax positions related to current year</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,193</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,940</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at end of year</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">21,998</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">20,289</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">As of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\">, the Company had unrecognized tax benefits of </font><font style=\"font-family:inherit;font-size:10pt;\">$22.0 million</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">$20.3 million</font><font style=\"font-family:inherit;font-size:10pt;\">, respectively, none of which would affect the Company&#8217;s effective tax rate if recognized. There were </font><font style=\"font-family:inherit;font-size:10pt;\">no</font><font style=\"font-family:inherit;font-size:10pt;\"> accrued interest or penalties for uncertain income tax as of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company files tax returns in the United State and various state jurisdictions, the United Kingdom, China and Brazil. The tax years 1999 through 2017 remain open and subject to examination by the appropriate governmental agencies in the U.S. due to tax attribute carryforwards.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">U.S. Tax Reform</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">On December 22, 2017, the U.S. government enacted comprehensive tax legislation commonly referred to as the Tax Cuts and Jobs Act (the \"Tax Act\"). The Tax Act includes, among other items, a reduction in the federal corporate income tax rate from 34% to 21%, certain interest expense deduction limitations and changes in the timing of certain taxable income. The Company was required to recognize the effect of the tax law changes in 2017, such as remeasuring its U.S. deferred tax assets and liabilities and reassessing the net realizability of our deferred tax assets and liabilities. </font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">On December 22, 2017, the SEC staff issued Staff Accounting Bulletin No. 118 (&#8220;SAB 118&#8221;) which provided guidance on accounting for the tax effects of the Tax Act.&#160;The Company completed its analysis and accounting with respect the Tax Act and identified no additional changes from amounts previously recorded. However, future changes in law, interpretations and facts may result in adjustments to these amounts. Based on the Company&#8217;s net operating loss carryovers and valuation allowance, there was no impact to its consolidated financial statements as a result of the accounting for the tax effects of the Tax Act.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Tax Act created a new requirement that global intangible low-taxed income (&#8220;GILTI&#8221;) earned by our foreign subsidiaries must be included in gross U.S. taxable income.&#160;While the Tax Act provides for a modified territorial tax system, beginning in 2018, GILTI provisions will be applied providing an incremental tax on low taxed foreign income. The GILTI provisions require us to include in our U.S. income tax return foreign subsidiary earnings in excess of an allowable return on the foreign subsidiary&#8217;s tangible assets. During 2018, we made an accounting policy election to treat taxes related to GILTI as a current period expense when incurred.</font></div></div>"}]},{"name":"rpt:f-971","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPolicyTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Income Taxes</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company evaluates its tax positions and estimates its current tax exposure along with assessing temporary differences that result from different book to tax treatment of items not currently deductible for tax purposes. These differences result in deferred tax assets and liabilities on the Company&#8217;s Consolidated Balance Sheets, which are estimated based upon the difference between the financial statement and tax bases of assets and liabilities using the enacted tax rates that will be in effect when these differences reverse. In general, deferred tax assets represent future tax benefits to be received when certain expenses previously recognized in the Company&#8217;s Consolidated Statements of Comprehensive Loss become deductible expenses under applicable income tax laws or loss or credit carryforwards are utilized. Accordingly, realization of the Company&#8217;s deferred tax assets is dependent on future taxable income against which these deductions, losses and credits can be utilized.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company must assess the likelihood that the Company&#8217;s deferred tax assets will be recovered from future taxable income, and to the extent the Company believes that recovery is not more likely than not, the Company must establish a valuation allowance. Management judgment is required in determining the Company&#8217;s provision for income taxes, the Company&#8217;s deferred tax assets and liabilities and any valuation allowance recorded against the Company&#8217;s net deferred tax assets. Excluding foreign operations, the Company recorded a full valuation allowance at each balance sheet date presented because, based on the available evidence, the Company believes it is more likely than not that it will not be able to utilize all of its deferred tax assets in the future. The Company intends to maintain the full valuation allowance until sufficient evidence exists to support the reversal of the valuation allowance.</font></div></div>"}]},{"name":"rpt:f-972","factDimensions":{"xbrl:concept":"us-gaap:InventoryPolicyTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Inventory Valuation</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Inventory, which primarily consists of finished goods purchased from CMs or ODMs, is stated at the lower of cost (determined by the first-in, first-out method) or market value. Inbound shipping costs and U.S. tariffs are included in cost of inventory. In addition, the Company, from time to time, procures component inventory primarily as a result of manufacturing discontinuation of critical components by suppliers. The Company regularly monitors inventory quantities on hand and records write-downs for excess and obsolete inventories based on the Company&#8217;s estimate of demand for its products, potential obsolescence of technology, product life cycles and whether pricing trends or forecasts indicate that the carrying value of inventory exceeds its estimated selling price. These factors are impacted by market and economic conditions, technology changes and new product introductions and require significant estimates that may include elements that are uncertain. Actual demand may differ from forecasted demand and may have a material effect on gross profit. If inventory is written down, a new cost basis is established that cannot be increased in future periods. Shipments from suppliers or CMs before the Company receives them are recorded as in-transit inventory when title and the significant risks and rewards of ownership have passed to the Company.</font></div></div>"}]},{"name":"rpt:f-973","factDimensions":{"xbrl:concept":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Newly Adopted Accounting Standards</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Revenue from Contracts with Customers</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In May 2014, the FASB issued Accounting Standards Update No. (&#8220;ASU&#8221;) 2014-09, &#8220;</font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Revenue from Contracts with Customers</font><font style=\"font-family:inherit;font-size:10pt;\"> </font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">(Topic 606)&#8221;</font><font style=\"font-family:inherit;font-size:10pt;\">, which provides guidance for revenue recognition. ASU 2014-09 supersedes the revenue recognition requirements in Topic 605, &#8220;</font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Revenue Recognition&#8221;</font><font style=\"font-family:inherit;font-size:10pt;\">, and most industry-specific guidance. Additionally, it supersedes some cost guidance included in Subtopic 605-35, &#8220;</font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Revenue Recognition-Construction-Type and Production-Type Contracts&#8221;</font><font style=\"font-family:inherit;font-size:10pt;\">, and creates new Subtopic 340-40, &#8220;</font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Other Assets and Deferred Costs-Contracts with Customers</font><font style=\"font-family:inherit;font-size:10pt;\">.&#8221; The Company determines revenue recognition through the following steps: identification of the contract, or contracts, with a customer; identification of the performance obligations in the contract; determination of the transaction price; allocation of the transaction price to the performance obligations in the contract; and recognition of revenue when, or as, the Company satisfies a performance obligation. The standard&#8217;s core principle is that a company will recognize revenue when it transfers promised goods or services to customers in an amount that reflects the consideration to which the company expects to be entitled in exchange for those goods or services. In doing so, companies will need to use more judgment and make more estimates than under the previous guidance. These may include identifying performance obligations in the contract, estimating the amount of variable consideration to include in the transaction price and allocating the transaction price to each separate performance obligation. The new standard permits adoption by using either (i) a full retrospective approach for all periods presented in the period of adoption or (ii) a modified retrospective approach with the cumulative effect of initially applying the new standard recognized at the date of initial application and providing certain additional disclosures.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">On January 1, 2018, the Company adopted Topic 606 and Subtopic 340-40 using the modified retrospective transition method applied to those contracts which were not completed as of January 1, 2018. Accordingly, results for reporting periods beginning after January 1, 2018 are presented under Topic 606, while results for prior periods have not been restated and continues to be reported under the accounting standards in effect for those periods. The Company recognized the cumulative effect of initially applying the standards as an adjustment to the opening balance of accumulated deficit of </font><font style=\"font-family:inherit;font-size:10pt;\">$1.8 million</font><font style=\"font-family:inherit;font-size:10pt;\"> as of January 1, 2018, with the impact primarily relating to deferring the costs of obtaining contracts (sales commissions) and the upfront recognition of software license revenue. The impact to revenue of applying Topic 606 for the year ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">&#160;was an increase of&#160;</font><font style=\"font-family:inherit;font-size:10pt;\">$1.7 million</font><font style=\"font-family:inherit;font-size:10pt;\">.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Practical Expedients</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company expenses sales commissions as sales and marketing expenses when incurred if the expected amortization period is one year or less. This applies generally to all transactions other than extended warranty contracts and Calix Cloud products.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company does not adjust the promised amount of consideration for the effects of a significant financing component if the Company expects, at contract inception, that the period between when the Company transfers a promised good or service to a customer and when the customer pays for that good or service will be one year or less.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Cumulative Effect of Adoption</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The cumulative effect of changes made to the Consolidated January 1, 2018 Balance Sheet was as follows (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.28125%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"18\" rowspan=\"1\"></td></tr><tr><td style=\"width:45%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:14%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Balance at December 31, 2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Adjustments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Balance at   January 1, 2018</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accounts receivable, net</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">80,392</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">491</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">80,883</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Prepaid expenses and other current assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,759</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(245</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,514</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other assets</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">759</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">698</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,457</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">295,070</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">944</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">296,014</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Deferred revenue</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">13,076</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(829</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,247</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total liabilities</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">150,107</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(829</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">149,278</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accumulated deficit</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(667,357</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,773</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(665,584</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total liabilities and stockholders&#8217; equity</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">295,070</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">944</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">296,014</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr></table></div></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The impact of adopting the new revenue standard on the Company&#8217;s consolidated financial statements as of and for the year ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> were as follows (in thousands):</font></div><div style=\"line-height:120%;padding-bottom:9px;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Consolidated Balance Sheet</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:93.5546875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"18\" rowspan=\"1\"></td></tr><tr><td style=\"width:53%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">As of December 31, 2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">As Reported</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Adjustments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Balances Without Adoption of Topic 606</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accounts receivable, net</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">67,026</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1,095</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">65,931</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Prepaid expenses and other current assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7,306</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">953</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,259</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other assets</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,203</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(567</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">636</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">317,080</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(709</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">316,371</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued liabilities</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">57,869</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(880</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">56,989</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Deferred revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">33,096</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,801</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">35,897</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total liabilities</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">165,146</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,921</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">167,067</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accumulated deficit</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(684,882</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2,630</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(687,512</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total liabilities and stockholders&#8217; equity</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">317,080</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(709</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">316,371</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr></table></div></div><div style=\"line-height:120%;padding-top:4px;text-align:left;text-indent:29px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-bottom:9px;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Consolidated Statement of Comprehensive Loss</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:95.3125%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"18\" rowspan=\"1\"></td></tr><tr><td style=\"width:56%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Year Ended December 31, 2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">As Reported</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Adjustments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Balances Without Adoption of Topic 606</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Revenue:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Systems</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">405,923</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(3,253</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">402,670</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Services</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">35,397</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,559</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">36,956</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">441,320</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1,694</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">439,626</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Cost of revenue:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Systems</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">216,529</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1,052</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">215,477</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Services</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">27,409</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">274</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">27,683</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total cost of revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">243,938</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(778</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">243,160</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Gross profit</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">197,382</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(916</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">196,466</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Sales and marketing</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">86,432</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(59</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">86,373</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net loss</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(19,298</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(857</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(20,155</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Cloud Computing Costs</font></div><div style=\"line-height:120%;padding-bottom:6px;padding-top:6px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In August 2018, the FASB issued ASU 2018-15, </font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">&#8220;Intangibles (Topic 350): Customer&#8217;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract&#8221;</font><font style=\"font-family:inherit;font-size:10pt;\">, which aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. This new standard also requires customers to expense the capitalized implementation costs of a hosting arrangement that is a service contract over the term of the hosting arrangement. This new standard becomes effective for the Company in the first quarter of 2020, with early adoption permitted. This new standard can be applied either retrospectively or prospectively to all implementation costs incurred after the date of adoption. The Company adopted the standard prospectively in the fourth quarter of 2018, resulting in the capitalization of </font><font style=\"font-family:inherit;font-size:10pt;\">$1.2 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in implementation costs related to the Company's SaaS-based enterprise resource planning infrastructure project.</font></div><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Statement of Cash Flows</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In November 2016, the FASB issued ASU 2016-18, an update to </font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">&#8220;Statement of Cash Flows (Topic 230)&#8221;</font><font style=\"font-family:inherit;font-size:10pt;\">, to provide guidance on classification and presentation of changes in restricted cash on the statement of cash flows. ASU 2016-18 requires that an entity&#8217;s reconciliation of the beginning-of-period and end-of-period total amounts shown on the statement of cash flows to include restricted cash within cash and cash equivalents. The Company adopted ASU 2016-18 in 2018. Prior to 2018, the Company did not have restricted cash. As of December 31, 2018, the Company classified </font><font style=\"font-family:inherit;font-size:10pt;\">$0.6 million</font><font style=\"font-family:inherit;font-size:10pt;\"> as restricted cash in our Consolidated Balance Sheets. The adoption of ASU 2016-18 did not have a material impact on our Consolidated Statements of Cash Flows.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Recent Accounting Pronouncements Not Yet Adopted</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Leases</font></div><div style=\"line-height:120%;padding-bottom:6px;padding-top:6px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In February 2016, the FASB issued ASU 2016-02, </font><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">&#8220;Leases (Topic 842)&#8221;</font><font style=\"font-family:inherit;font-size:10pt;\">, which requires recognition of an asset and liability for lease arrangements longer than twelve months. ASU 2016-02 will be effective for the Company beginning in the first quarter of 2019. The standard can be adopted using either a modified retrospective approach, whereby the Company would recognize and measure leases at the beginning of the earliest period presented, or the effective date approach, whereby the Company would initially account for the impact of the adoption with a cumulative-effect adjustment to the January 1, 2019 financial statements. The effective date approach will eliminate the need to restate amounts presented prior to January 1, 2019. The Company adopted the new standard effective January 1, 2019 using the effective date approach. Upon adoption of the standard, the Company's assets and liabilities will increase by approximately </font><font style=\"font-family:inherit;font-size:10pt;\">$16 million</font><font style=\"font-family:inherit;font-size:10pt;\"> as the new standard requires recognition of right-of-use assets and lease liabilities for operating leases, but the new standard does not impact its Statements of Comprehensive Loss or Cash Flows.</font></div></div>"}]},{"name":"rpt:f-974","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Property and Equipment</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Property and equipment are stated at cost, less accumulated depreciation, and are depreciated using the straight-line method over the estimated useful life of each asset. Generally, computer equipment is depreciated over </font><font style=\"font-family:inherit;font-size:10pt;\">two</font><font style=\"font-family:inherit;font-size:10pt;\"> years; purchased software is depreciated over </font><font style=\"font-family:inherit;font-size:10pt;\">three</font><font style=\"font-family:inherit;font-size:10pt;\"> years; test equipment is depreciated over </font><font style=\"font-family:inherit;font-size:10pt;\">three</font><font style=\"font-family:inherit;font-size:10pt;\"> years; furniture and fixtures are depreciated over </font><font style=\"font-family:inherit;font-size:10pt;\">seven</font><font style=\"font-family:inherit;font-size:10pt;\"> years; and leasehold improvements are depreciated over the shorter of the respective lease term or the estimated useful life of the asset. Maintenance and repairs are charged to expense as incurred.</font></div></div>"}]},{"name":"rpt:f-975","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Property and equipment, net consisted of the following (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.3674280039722%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Test equipment</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">39,148</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">39,952</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Computer equipment and purchased software</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">34,697</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">32,175</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Furniture and fixtures</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,976</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,714</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Leasehold improvements</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,559</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,029</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">79,380</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">80,870</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accumulated depreciation and amortization</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(54,435</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(65,189</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">24,945</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">15,681</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-976","factDimensions":{"xbrl:concept":"us-gaap:QuarterlyFinancialInformationTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Quarterly Financial Data&#8212;Unaudited</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company&#8217;s fiscal year begins on January 1st and ends on December 31st. Quarterly periods are based on a 4-4-5 fiscal calendar with the first, second and third fiscal quarters ending on the 13th Saturday of each fiscal period. As a result, the Company had </font><font style=\"font-family:inherit;font-size:10pt;\">one</font><font style=\"font-family:inherit;font-size:10pt;\"> </font><font style=\"font-family:inherit;font-size:10pt;\">fewer</font><font style=\"font-family:inherit;font-size:10pt;\"> day in the first quarter of </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">one</font><font style=\"font-family:inherit;font-size:10pt;\"> </font><font style=\"font-family:inherit;font-size:10pt;\">more</font><font style=\"font-family:inherit;font-size:10pt;\"> day in the fourth quarter of </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\"> than in the respective </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\"> periods.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table presents selected unaudited quarterly financial data of the Company (in thousands, except per share data). The Company&#8217;s quarterly results of operations for these periods are not necessarily indicative of future results of operations.</font></div><div style=\"line-height:120%;padding-top:6px;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"17\" rowspan=\"1\"></td></tr><tr><td style=\"width:40%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"15\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Fiscal Year 2018 Quarter Ended</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">March 31</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">June 30</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">September 29</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Revenue</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">99,403</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">111,702</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">114,699</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">115,516</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Gross profit</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">42,059</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">50,866</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">52,833</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">51,624</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Operating income (loss)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(11,109</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2,926</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">676</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(5,155</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net income (loss)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(11,736</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2,793</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">809</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(5,578</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net income (loss) per common share, basic and diluted</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.23</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.05</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.02</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.10</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"15\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Fiscal Year 2017 Quarter Ended</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">April 1</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">July 1</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">September 30</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">117,518</font></div></td><td style=\"vertical-align:bottom;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">126,123</font></div></td><td style=\"vertical-align:bottom;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">128,827</font></div></td><td style=\"vertical-align:bottom;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">137,899</font></div></td><td style=\"vertical-align:bottom;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Gross profit</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">34,377</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">43,323</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">44,633</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">50,557</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Operating loss</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(32,816</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(18,714</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(17,263</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(12,763</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net loss</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(33,325</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(18,988</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(17,853</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(12,866</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net loss per common share, basic and diluted</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.67</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.38</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.35</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.25</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-977","factDimensions":{"xbrl:concept":"us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Allowance for Doubtful Accounts</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company maintains an allowance for doubtful accounts for estimated losses resulting from the inability of its customers to make required payments. The Company records a specific allowance based on an analysis of individual past-due balances. Additionally, based on historical write-offs and the Company&#8217;s collection experience, the Company records an additional allowance based on a percentage of outstanding receivables. The Company performs credit evaluations of its customers&#8217; financial condition. These evaluations require judgment and are based on a variety of factors including, but not limited to, current economic trends, payment history and a financial review of the customer. Actual collection losses may differ from management&#8217;s estimates, and such differences could be material to our financial position and results of operations.</font></div></div>"}]},{"name":"rpt:f-978","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Contract Costs</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company capitalizes all incremental costs incurred to obtain a contract with a customer that it would not have incurred if the contract had not been obtained, provided it expects to recover the costs. The Company capitalizes certain sales commissions related primarily to extended warranty and Calix Cloud products for which the expected amortization period is greater than one year. </font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company expects that sales commissions as a result of obtaining customer contracts are recoverable, and therefore the Company defers and capitalizes them as contract costs. Capitalized commissions are amortized as sales and marketing expenses over the period that the related revenue is recognized, which typically range from </font><font style=\"font-family:inherit;font-size:10pt;\">three</font><font style=\"font-family:inherit;font-size:10pt;\"> to </font><font style=\"font-family:inherit;font-size:10pt;\">ten</font><font style=\"font-family:inherit;font-size:10pt;\"> years for extended warranty and cloud offerings. The Company classifies the unamortized portion of deferred commissions as current or noncurrent based on the timing of when the Company expects to recognize the expense.  The current and noncurrent portions of deferred commissions are included in prepaid expenses and other current assets and other assets, respectively, in the Company&#8217;s Consolidated Balance Sheets.</font></div></div>"}]},{"name":"rpt:f-979","factDimensions":{"xbrl:concept":"us-gaap:RevenueRecognitionDeferredRevenue","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Deferred Revenue</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Deferred revenue results from transactions where the Company billed the customer for products or services and when cash payments are received or due prior to transferring control of the promised goods or services to the customer. </font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Revenue allocated to remaining performance obligations represent contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. This amount was  </font><font style=\"font-family:inherit;font-size:10pt;\">$33.1 million</font><font style=\"font-family:inherit;font-size:10pt;\"> as </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, and the Company expects to recognize </font><font style=\"font-family:inherit;font-size:10pt;\">47%</font><font style=\"font-family:inherit;font-size:10pt;\"> of such revenue over the next year and the remainder thereafter.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Payment terms to customers typically range from net&#160;30&#160;to net&#160;90&#160;days and vary by the size and location of customer and the products or services offered. The period between the transfer of control of the promised good or service to a customer and when payment is due is not significant.</font></div></div>"}]},{"name":"rpt:f-980","factDimensions":{"xbrl:concept":"us-gaap:RevenueRecognitionPolicyTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Revenue Recognition</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Revenue is recognized when a performance obligation is satisfied, which occurs when control of the promised goods or services is transferred to the customer, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods or services.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. A contract&#8217;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The Company&#8217;s hardware products contain both software and non-software components that function together to deliver the products&#8217; essential functionality and therefore constitutes a single performance obligation as the promise to transfer the individual software and non-software components is not separately identifiable and, therefore, not distinct. The Company&#8217;s contracts may include multiple performance obligations. For such arrangements, the Company allocates the contract&#8217;s transaction price to each performance obligation using the relative stand-alone selling price of each distinct good or service in the contract. The Company generally determines stand-alone selling prices based on the prices charged to customers or its best estimate of stand-alone selling price. The Company&#8217;s estimate of stand-alone selling price is established considering multiple factors including, but not limited to, geographies, market conditions, competitive landscape, internal costs, gross margin objectives, characteristics of targeted customers and pricing practices. The determination of estimated stand-alone selling price is made through consultation with and formal approval by management, taking into consideration the go-to-market strategy.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">For certain revenue arrangements involving delivery of both systems and professional services, each is considered a distinct performance obligation. Systems revenue is recognized at a point in time when management has determined that control over systems has transferred to the customer, which is generally when legal title has transferred to the customer. For the same revenue arrangements, management believes that the output of the associated professional services is transferred to the customer over time. As such, professional services revenue is recognized over the period in which the services are provided using a cost input measure. The Company recognizes revenue when control of the systems and services has been transferred to the customer, which may be earlier than system installation or customer acceptance, in accordance with the agreed-upon specifications in the contract.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company derives revenue from contracts with customers primarily from the following and categorizes its revenue as follows:</font></div><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:41px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:10pt;padding-left:29px;\"><font style=\"font-family:inherit;font-size:10pt;\">&#8226;</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions.</font></div></td></tr></table><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:41px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:10pt;padding-left:29px;\"><font style=\"font-family:inherit;font-size:10pt;\">&#8226;</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Services include revenue from professional services, customer support, software- and cloud-based maintenance, extended warranty subscriptions, training and managed services.</font></div></td></tr></table></div>"}]},{"name":"rpt:f-981","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Accounts receivable, net consisted of the following (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.3674280039722%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accounts receivable</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">67,396</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">81,793</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Allowance for doubtful accounts</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(370</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(579</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product return reserve </font><font style=\"font-family:inherit;font-size:9pt;\"><sup style=\"vertical-align:top;line-height:120%;font-size:6pt\">(1)</sup></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(822</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">67,026</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">80,392</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:108px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:9pt;padding-left:84px;\"><font style=\"font-family:inherit;font-size:9pt;\">(1)</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">With adoption of Topic 606 on January 1, 2018, the product return reserve is considered a contract liability and has been reclassified to accrued liabilities.</font></div></td></tr></table></div>"}]},{"name":"rpt:f-982","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Accrued liabilities consisted of the following (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.3674280039722%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued compensation and related benefits</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">19,811</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">15,563</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued warranty and retrofit</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,547</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,708</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued customer rebates/prepayments </font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,103</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,432</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued professional and consulting fees</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,060</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,604</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued excess and obsolete inventory at CMs or ODMs</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,667</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,430</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Current portion of equipment financing arrangements</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,778</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued business events</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,696</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,272</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued non-income related taxes</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,288</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,778</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued freight</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,187</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">593</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued insurance</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">917</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">827</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product return reserve </font><font style=\"font-family:inherit;font-size:9pt;\"><sup style=\"vertical-align:top;line-height:120%;font-size:6pt\">(1)</sup></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">880</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued restructuring charges</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">28</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,417</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued other</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,907</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,655</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">57,869</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">49,279</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:108px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:9pt;padding-left:84px;\"><font style=\"font-family:inherit;font-size:9pt;\">(1)</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">With adoption of Topic 606 on January 1, 2018, the product return reserve is considered a contract liability and has been reclassified from accounts receivable.</font></div></td></tr></table></div>"}]},{"name":"rpt:f-983","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;text-indent:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The table below summarizes the changes in accumulated other comprehensive loss by component:</font></div><div style=\"line-height:120%;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Unrealized Gains and Losses on Available-for-Sale Marketable Securities</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Foreign Currency Translation Adjustments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Total</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at December 31, 2016</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(6</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(650</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(656</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other comprehensive income</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">481</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">487</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at December 31, 2017</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(169</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(169</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other comprehensive loss</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(584</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(584</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at December 31, 2018</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">(753</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">(753</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">)</font></div></td></tr></table></div></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"></font></div></div>"}]},{"name":"rpt:f-984","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Cash and cash equivalents consisted of the following (in thousands):</font></div><div style=\"line-height:120%;padding-top:8px;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.8671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Cash and cash equivalents:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Cash</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">45,806</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">35,999</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Money market funds</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,840</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,776</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">49,646</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">39,775</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-985","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-indent:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Provision for income taxes consisted of the following (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Current:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">State</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">105</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">115</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">102</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Foreign</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">360</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">577</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">673</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Current income tax</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">465</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">692</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">775</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Deferred foreign income tax (benefit)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">65</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">551</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(428</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">530</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,243</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">347</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-986","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The significant components of the Company&#8217;s deferred tax assets were as follows (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.8671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Deferred tax assets:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net operating loss carryforwards</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">132,420</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">134,731</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Tax credit carryforwards</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">46,884</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">43,095</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Depreciation and amortization</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,924</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,892</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accruals and reserves</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,021</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7,933</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Deferred revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7,815</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7,928</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Stock-based compensation</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4,447</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,100</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Intangible assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">37</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">64</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">23</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Gross deferred tax assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">203,553</font></div></td><td style=\"vertical-align:bottom;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">198,766</font></div></td><td style=\"vertical-align:bottom;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Valuation allowance</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(203,550</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(198,746</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">20</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-987","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table sets forth the computation of basic and diluted net loss per common share for the periods indicated (in thousands, except per share data):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Numerator:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net loss</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(19,298</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(83,032</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(27,402</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Denominator:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Weighted-average common shares outstanding</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">52,609</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">50,155</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">48,730</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Basic and diluted net loss per common share</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.37</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.66</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.56</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Potentially dilutive shares, weighted-average</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,833</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,446</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,890</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-988","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The differences between the statutory tax rate and the effective tax rate, expressed as a percentage of loss before income taxes, were as follows:</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"10\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"8\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Federal statutory rate</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">21.0</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">34.0</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">34.0</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;%</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">State statutory rate</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5.7</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4.5</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.1</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Foreign operations</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.3</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.5</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.6</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">R&amp;D tax credits</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.2</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2.7</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.4</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Foreign income inclusion</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.2</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.1</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.7</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Non-deductible stock compensation</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(4.3</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(3.7</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(5.1</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other permanent items</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.6</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.4</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.4</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Tax true-up</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2.3</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.7</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">21.0</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Valuation allowance</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(25.6</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">67.3</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(62.2</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Tax reform</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(104.6</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Topic 606 adjustment</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2.0</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Effective tax rate</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2.8</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)%</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.5</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)%</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1.3</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)%</font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-989","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company&#8217;s property and equipment, net of accumulated depreciation, are located in the following geographical areas (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.8671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">United States</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">23,249</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">13,109</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">China</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,696</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,572</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">24,945</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">15,681</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-990","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Future minimum payments under the non-cancelable operating leases consisted of the following as of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> (in&#160;thousands):</font></div><div style=\"line-height:120%;padding-top:6px;text-align:center;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:41.5506958250497%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"5\" rowspan=\"1\"></td></tr><tr><td style=\"width:54%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:8%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:36%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Year Ending December 31,</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Minimum Future Lease Payments</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2019</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,750</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2020</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,817</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2021</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,468</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2022</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,300</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2023</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,411</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Thereafter</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,053</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">23,799</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-991","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The domestic and foreign components of loss before provision for incomes taxes were as follows (in thousands):</font></div><div style=\"line-height:120%;text-align:center;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Domestic</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(20,463</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(84,387</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(28,931</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Foreign</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,695</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,598</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,876</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(18,768</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(81,789</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(27,055</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-992","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfInventoryCurrentTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Inventory consisted of the following (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.3674280039722%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Raw materials</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,815</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,211</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Finished goods</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">39,336</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">30,318</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">50,151</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">31,529</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-993","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The cumulative effect of changes made to the Consolidated January 1, 2018 Balance Sheet was as follows (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.28125%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"18\" rowspan=\"1\"></td></tr><tr><td style=\"width:45%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:14%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Balance at December 31, 2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Adjustments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Balance at   January 1, 2018</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accounts receivable, net</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">80,392</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">491</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">80,883</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Prepaid expenses and other current assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,759</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(245</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,514</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other assets</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">759</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">698</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,457</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">295,070</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">944</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">296,014</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Deferred revenue</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">13,076</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(829</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,247</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total liabilities</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">150,107</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(829</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">149,278</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accumulated deficit</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(667,357</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,773</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(665,584</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total liabilities and stockholders&#8217; equity</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">295,070</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">944</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">296,014</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr></table></div></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The impact of adopting the new revenue standard on the Company&#8217;s consolidated financial statements as of and for the year ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> were as follows (in thousands):</font></div><div style=\"line-height:120%;padding-bottom:9px;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Consolidated Balance Sheet</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:93.5546875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"18\" rowspan=\"1\"></td></tr><tr><td style=\"width:53%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">As of December 31, 2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">As Reported</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Adjustments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Balances Without Adoption of Topic 606</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accounts receivable, net</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">67,026</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1,095</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">65,931</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Prepaid expenses and other current assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7,306</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">953</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,259</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other assets</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,203</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(567</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">636</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total assets</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">317,080</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(709</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">316,371</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued liabilities</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">57,869</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(880</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">56,989</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Deferred revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">33,096</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,801</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">35,897</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total liabilities</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">165,146</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,921</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">167,067</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accumulated deficit</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(684,882</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2,630</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(687,512</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total liabilities and stockholders&#8217; equity</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">317,080</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(709</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">316,371</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr></table></div></div><div style=\"line-height:120%;padding-top:4px;text-align:left;text-indent:29px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-bottom:9px;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Consolidated Statement of Comprehensive Loss</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:95.3125%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"18\" rowspan=\"1\"></td></tr><tr><td style=\"width:56%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:0%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Year Ended December 31, 2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">As Reported</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Adjustments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">Balances Without Adoption of Topic 606</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Revenue:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Systems</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">405,923</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(3,253</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">402,670</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Services</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">35,397</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,559</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">36,956</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">441,320</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1,694</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">439,626</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Cost of revenue:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Systems</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">216,529</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1,052</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">215,477</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Services</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">27,409</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">274</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">27,683</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Total cost of revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">243,938</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(778</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">243,160</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Gross profit</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">197,382</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(916</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">196,466</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Sales and marketing</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">86,432</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(59</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">86,373</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net loss</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(19,298</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"4\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(857</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(20,155</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-bottom:2px;padding-top:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-994","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.16881827209534%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at beginning of period</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,708</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,214</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,564</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Provision for warranty and retrofit charged to cost of revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,215</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,720</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,898</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Utilization of reserve</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(5,376</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(12,226</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(6,816</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Adjustments to pre-existing reserve</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(432</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at end of period</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,547</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,708</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,214</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-995","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table presents selected unaudited quarterly financial data of the Company (in thousands, except per share data). The Company&#8217;s quarterly results of operations for these periods are not necessarily indicative of future results of operations.</font></div><div style=\"line-height:120%;padding-top:6px;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"17\" rowspan=\"1\"></td></tr><tr><td style=\"width:40%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"15\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Fiscal Year 2018 Quarter Ended</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">March 31</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">June 30</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">September 29</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Revenue</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">99,403</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">111,702</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">114,699</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">115,516</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Gross profit</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">42,059</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">50,866</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">52,833</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">51,624</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Operating income (loss)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(11,109</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2,926</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">676</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(5,155</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net income (loss)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(11,736</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2,793</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">809</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(5,578</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net income (loss) per common share, basic and diluted</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.23</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.05</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.02</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.10</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;height:17px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"15\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Fiscal Year 2017 Quarter Ended</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">April 1</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">July 1</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">September 30</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">117,518</font></div></td><td style=\"vertical-align:bottom;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">126,123</font></div></td><td style=\"vertical-align:bottom;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">128,827</font></div></td><td style=\"vertical-align:bottom;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">137,899</font></div></td><td style=\"vertical-align:bottom;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Gross profit</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">34,377</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">43,323</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">44,633</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">50,557</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Operating loss</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(32,816</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(18,714</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(17,263</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(12,763</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net loss</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(33,325</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(18,988</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(17,853</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(12,866</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Net loss per common share, basic and diluted</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.67</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.38</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.35</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(0.25</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-996","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table summarizes the activities pursuant to the above restructuring plans (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.16881827209534%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Severance and Related Benefits</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Facilities</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Total</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at December 31, 2016</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Restructuring charges for the year</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,807</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">442</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4,249</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Cash payments</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2,832</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2,832</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at December 31, 2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">975</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">442</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,417</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Restructuring charges for the year</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,203</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">502</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,705</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Cash payments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(6,178</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(916</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(7,094</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at December 31, 2018</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">28</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">28</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-997","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following is a summary of revenue by geographic region based upon the location of the customers (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017 </font><font style=\"font-family:inherit;font-size:9pt;\"><sup style=\"vertical-align:top;line-height:120%;font-size:6pt\">(1)</sup></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016 </font><font style=\"font-family:inherit;font-size:9pt;\"><sup style=\"vertical-align:top;line-height:120%;font-size:6pt\">(1)</sup></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">United States</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">386,341</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">452,956</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">415,629</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Middle East</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">18,814</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">18,267</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,098</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Canada</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,542</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">13,105</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,064</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Europe</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,858</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,575</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,334</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Caribbean</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7,075</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,853</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,934</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,690</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,611</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,728</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">441,320</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">510,367</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">458,787</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:108px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:9pt;padding-left:84px;\"><font style=\"font-family:inherit;font-size:9pt;\">(1)</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Revenue amounts are accounted for under Topic 605 for 2017 and 2016.</font></div></td></tr></table></div>"}]},{"name":"rpt:f-998","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table summarizes the activity of stock options under the Company&#8217;s equity incentive plans (in thousands, except per share data):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.0390625%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"14\" rowspan=\"1\"></td></tr><tr><td style=\"width:44%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Weighted-</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Average</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Weighted-</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Remaining</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Average</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Contractual</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Aggregate</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Number of</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Exercise Price</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Life</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Intrinsic</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;text-decoration:underline;\">Stock Options</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Shares</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Per Share</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">(in years)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;&#160;&#160;Value </font><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\"><sup style=\"vertical-align:top;line-height:120%;font-size:5pt\">(1)</sup></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Outstanding as of December 31, 2017</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,756</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.38</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Granted</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">230</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.77</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Exercised</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(57</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.70</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Canceled</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1,487</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.22</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Outstanding as of December 31, 2018</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4,442</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.40</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.3</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,377</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Vested and expected to vest as of&#160;December 31, 2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4,333</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.43</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.3</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,006</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Options exercisable as of December 31, 2018</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,903</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9.04</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5.4</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,300</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;text-decoration:underline;\">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td colspan=\"14\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:left;padding-left:18px;text-indent:-18px;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1) Amounts represent the difference between the exercise price and the fair market value of common stock at December 31, 2018 of $9.75 per share for all in the money options outstanding.</font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-999","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"10\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"8\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;text-decoration:underline;\">ESPP</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Expected volatility</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">42</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">45</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">46</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Expected life (years)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.50</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.49</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.52</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Expected dividend yield</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Risk-free interest rate</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2.21</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.24</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.47</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-1000","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table summarizes the weighted-average assumptions used in estimating the grant-date fair value of stock options and of each employee&#8217;s purchase right under the ESPP in the periods indicated:</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"10\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"8\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;text-decoration:underline;\">Stock Options</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Expected volatility</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">50</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">52</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">53</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Expected life (years)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.11</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5.88</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.25</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Expected dividend yield</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Risk-free interest rate</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2.83</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2.10</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.60</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-1001","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table summarizes the activities of the Company&#8217;s RSUs and PRSUs under the Company&#8217;s equity incentive plans (in thousands, except per share data):</font></div><div style=\"line-height:120%;padding-top:6px;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"15\" rowspan=\"1\"></td></tr><tr><td style=\"width:40%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"6\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">RSUs</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"6\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">PRSUs</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Weighted-</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Weighted-</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Average</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Average</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Grant Date</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Grant Date</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Number of</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Fair Value</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Number of</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Fair Value</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Shares</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Per Share</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Shares</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Per Share</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Outstanding at December 31, 2017</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,726</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.53</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">150</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.42</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Granted</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">174</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.66</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Vested</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(835</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.57</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(87</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.42</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Canceled</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(277</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.65</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Outstanding at December 31, 2018</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">788</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.26</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">63</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.42</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-1002","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">As of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, unrecognized stock-based compensation expenses by award type, net of estimated forfeitures, and their expected weighted-average recognition periods are summarized in the following table (in thousands).</font></div><div style=\"line-height:120%;text-align:center;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:75.9765625%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:49%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31, 2018</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Stock Option</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">RSU</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">ESPPs</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Unrecognized stock-based compensation expense</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,088</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,337</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,879</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Weighted-average amortization period (in years)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.9</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.0</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.1</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-1003","factDimensions":{"xbrl:concept":"us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Concentrations of credit risk in relation to customers with an accounts receivable balance of 10% or greater of total accounts receivable and customers with net revenue of 10% or greater of total revenue are presented below for the periods indicated.</font></div><div style=\"line-height:120%;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:89.0625%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"11\" rowspan=\"1\"></td></tr><tr><td style=\"width:25%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Percentage of Accounts Receivable</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Percentage of Revenue</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31,</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">&#160;&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">CenturyLink</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">16%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">42%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">18%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">31%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">21%</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Windstream</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">*</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">*</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">*</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">*</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">15%</font></div></td></tr><tr><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;height:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td colspan=\"11\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">* Less than 10% of total accounts receivable or revenue.</font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-1004","factDimensions":{"xbrl:concept":"us-gaap:SegmentReportingDisclosureTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Segment Information</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"> The Company develops, markets and sells communications access systems and software, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is considered to be in a single reporting segment and operating unit structure. The Company&#8217;s chief operating decision maker is the Company&#8217;s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Geographic Information:</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following is a summary of revenue by geographic region based upon the location of the customers (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017 </font><font style=\"font-family:inherit;font-size:9pt;\"><sup style=\"vertical-align:top;line-height:120%;font-size:6pt\">(1)</sup></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016 </font><font style=\"font-family:inherit;font-size:9pt;\"><sup style=\"vertical-align:top;line-height:120%;font-size:6pt\">(1)</sup></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">United States</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">386,341</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">452,956</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">415,629</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Middle East</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">18,814</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">18,267</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,098</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Canada</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,542</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">13,105</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,064</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Europe</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,858</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,575</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,334</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Caribbean</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7,075</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,853</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,934</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Other</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,690</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,611</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,728</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">441,320</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">510,367</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">458,787</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:108px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:9pt;padding-left:84px;\"><font style=\"font-family:inherit;font-size:9pt;\">(1)</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Revenue amounts are accounted for under Topic 605 for 2017 and 2016.</font></div></td></tr></table><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company&#8217;s property and equipment, net of accumulated depreciation, are located in the following geographical areas (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.8671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">United States</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">23,249</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">13,109</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">China</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,696</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,572</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">24,945</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">15,681</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-1005","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Stock-Based Compensation</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Stock-based compensation expense associated with stock options, restricted stock units (&#8220;RSUs&#8221;), performance restricted stock units (&#8220;PRSUs&#8221;) and purchase rights under the Amended and Restated Employee Stock Purchase Plan (the&#8220;ESPP&#8221;) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the &#8220;Nonqualified ESPP&#8221;) is measured at the grant date based on the fair value of the award, and is recognized, net of forfeitures, as expense over the remaining requisite service period (generally the vesting period) on a straight-line basis.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The fair value of stock option and employee stock purchase right under the ESPP is estimated at the grant date using the Black-Scholes option valuation model. The fair value of RSUs and employee stock purchase right under the Nonqualified ESPP is based on closing market price of the Company&#8217;s common stock on the date of grant.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Stock-based compensation expense associated with PRSUs with graded vesting features and which contain both a performance and a service condition is measured based on the closing market price of the Company&#8217;s common stock on the date of grant, and is recognized, net of forfeitures, as expense over the requisite service period using the graded vesting attribution method.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Stock-based compensation expense associated with performance-based stock options with graded vesting features and which contain both a performance and a service condition is measured based on fair value of stock options estimated at the grant date using the Black-Scholes option valuation model, and is recognized, net of forfeitures, as expense over the requisite service period using the graded vesting attribution method.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Compensation expense associated with PRSUs and performance-based stock option awards with graded vesting features and which contain both a performance and a service condition is only recognized if the Company has determined that it is probable that the performance condition will be met. The Company reassesses the probability of vesting at each reporting period and adjusts compensation expense based on its probability assessment.</font></div><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\"></font></div></div>"}]},{"name":"rpt:f-1006","factDimensions":{"xbrl:concept":"us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Stockholders&#8217; Equity </font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Preferred Stock</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Board of Directors has the authority, without action by stockholders with the exception of stockholders who hold board positions, to designate and issue up to </font><font style=\"font-family:inherit;font-size:10pt;\">5.0 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares of preferred stock in one or more series and to fix the rights, preferences, privileges and restrictions thereof. These rights, preferences and privileges could include dividend rights, conversion rights, voting rights, terms of redemption, liquidation preferences, sinking fund terms and the number of shares constituting any series or the designation of such series, any or all of which may be greater than the rights of common stock. The issuance of the Company&#8217;s preferred stock could adversely affect the voting power of holders of common stock and the likelihood that such holders will receive dividend payments and payments upon liquidation. In addition, the issuance of preferred stock could have the effect of delaying, deferring or preventing a change in control of the Company or other corporate action. Since the Company&#8217;s initial public offering, the Board of Directors has not designated any rights, preference or powers of any preferred stock and </font><font style=\"font-family:inherit;font-size:10pt;\">no</font><font style=\"font-family:inherit;font-size:10pt;\"> shares of preferred stock have been issued.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Common Stock</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Holders of the Company&#8217;s common stock are entitled to receive dividends, if any, as may be declared from time to time by the Board of Directors out of legally available funds. </font><font style=\"font-family:inherit;font-size:10pt;\">No</font><font style=\"font-family:inherit;font-size:10pt;\"> dividends have been declared or paid as of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">. In the event of the Company&#8217;s liquidation, dissolution or winding up, holders of the Company&#8217;s common stock will be entitled to share ratably in the net assets legally available for distribution to stockholders after the payment of all of the Company&#8217;s debts and other liabilities and the satisfaction of any liquidation preference granted to the holders of any then outstanding shares of preferred stock.</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Equity Incentive Plans</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">As of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, the Company maintained </font><font style=\"font-family:inherit;font-size:10pt;\">two</font><font style=\"font-family:inherit;font-size:10pt;\"> equity incentive plans, the 2002 Stock Plan (&#8220;2002 Plan&#8221;) and the 2010 Equity Incentive Award Plan (&#8220;2010 Plan&#8221;). These plans were approved by the Company's stockholders at the time of adoption. Under the 2002 Plan, the Company granted stock options at a price not less than </font><font style=\"font-family:inherit;font-size:10pt;\">100%</font><font style=\"font-family:inherit;font-size:10pt;\"> of the fair market value of the common stock on the date of grant. The majority of the stock options granted under the 2002 Plan vested over&#160;</font><font style=\"font-family:inherit;font-size:10pt;\">4 years</font><font style=\"font-family:inherit;font-size:10pt;\"> and expire in </font><font style=\"font-family:inherit;font-size:10pt;\">10 years</font><font style=\"font-family:inherit;font-size:10pt;\">. </font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The 2010 Plan allows the Company to grant stock options, restricted stock awards (&#8220;RSAs&#8221;), RSUs, PRSUs, stock appreciation rights, dividend equivalents, deferred stock and stock payments to employees, directors and consultants of the Company. A total of </font><font style=\"font-family:inherit;font-size:10pt;\">4.7 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares of common stock were initially reserved for future issuance under the 2010 Plan, which became effective upon the completion of the Company&#8217;s initial public offering of common stock. In addition, on the first day of each year beginning in 2011 and ending in 2020, the 2010 Plan provides for an annual automatic increase to the shares reserved for issuance equal to the lesser of: i) </font><font style=\"font-family:inherit;font-size:10pt;\">2%</font><font style=\"font-family:inherit;font-size:10pt;\"> of the outstanding shares at the end of the previous year or ii) </font><font style=\"font-family:inherit;font-size:10pt;\">666,666</font><font style=\"font-family:inherit;font-size:10pt;\"> shares. No more than </font><font style=\"font-family:inherit;font-size:10pt;\">17.2 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares of Common Stock may be issued upon the exercise of Incentive Stock Options. Pursuant to the automatic annual increase, a total of </font><font style=\"font-family:inherit;font-size:10pt;\">5.3 million</font><font style=\"font-family:inherit;font-size:10pt;\"> additional shares had been reserved as of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> under the 2010 Plan since 2011.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Upon the effectiveness of the 2010 Plan, equity awards were granted only under the 2010 Plan and shares of common stock previously reserved for issuance under the prior plan became available for issuance under the 2010 Plan. To date, awards granted under the 2010 Plan consist of stock options, RSAs, RSUs and PRSUs.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Stock options granted under the 2010 Plan are granted in general at a price not less than </font><font style=\"font-family:inherit;font-size:10pt;\">100%</font><font style=\"font-family:inherit;font-size:10pt;\"> of the fair market value of the common stock on the date of grant. Stock options issued under the 2010 Plan through 2016 generally </font><font style=\"font-family:inherit;font-size:10pt;\">vest&#160;25%&#160;on the first anniversary of the vesting commencement date and on a monthly basis thereafter for a period of an additional three years</font><font style=\"font-family:inherit;font-size:10pt;\">. Stock options granted during 2017 vest 25%&#160;on the first anniversary of the vesting commencement date and on a quarterly basis thereafter for a period of an additional three years. The options have a maximum term of </font><font style=\"font-family:inherit;font-size:10pt;\">ten years</font><font style=\"font-family:inherit;font-size:10pt;\">.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Each RSU granted under the 2010 Plan represents a right to receive one share of the Company&#8217;s common stock (subject to adjustment for certain specified changes in the capital structure of the Company) upon the completion of a specific period of continued service.</font><font style=\"font-family:inherit;font-size:10pt;\"> The majority of RSUs granted vest over&#160;</font><font style=\"font-family:inherit;font-size:10pt;\">four years</font><font style=\"font-family:inherit;font-size:10pt;\">.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In February 2016, the Company granted </font><font style=\"font-family:inherit;font-size:10pt;\">0.6 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares of PRSUs to its executives. These particular performance-based awards contained a </font><font style=\"font-family:inherit;font-size:10pt;\">one</font><font style=\"font-family:inherit;font-size:10pt;\">-year performance period and a subsequent </font><font style=\"font-family:inherit;font-size:10pt;\">two</font><font style=\"font-family:inherit;font-size:10pt;\">-year service period. The performance target was based on the Company&#8217;s revenue during the performance period and accounted for as a performance condition. In February 2017, the Compensation Committee of the Company&#8217;s Board of Directors determined that the performance condition related to PRSUs granted to executives in 2016 was met based on the Company&#8217;s actual revenue recognized during 2016. As such, each PRSU award vested in respect to </font><font style=\"font-family:inherit;font-size:10pt;\">50%</font><font style=\"font-family:inherit;font-size:10pt;\"> of the PRSUs subject to the award in February 2017; </font><font style=\"font-family:inherit;font-size:10pt;\">25%</font><font style=\"font-family:inherit;font-size:10pt;\"> in February 2018 and </font><font style=\"font-family:inherit;font-size:10pt;\">25%</font><font style=\"font-family:inherit;font-size:10pt;\"> in February 2019, subject to the executive&#8217;s continuous service with the Company from the grant date through the remaining vesting date. </font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In August 2017, the Company granted </font><font style=\"font-family:inherit;font-size:10pt;\">1.2 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares of performance-based stock option awards to its executives. These performance-based stock option awards contained a </font><font style=\"font-family:inherit;font-size:10pt;\">one</font><font style=\"font-family:inherit;font-size:10pt;\">-year performance period and a subsequent </font><font style=\"font-family:inherit;font-size:10pt;\">three</font><font style=\"font-family:inherit;font-size:10pt;\">-year service period. The performance target was based on a combination of the Company&#8217;s fiscal year 2017 revenue and non-GAAP operating income and was accounted for as a performance condition. In February 2018, the Compensation Committee of the Company&#8217;s Board of Directors concluded that the performance target was not met and all such performance-based stock options were forfeited and canceled.</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In October 2017, in connection with the hiring of its Chief Financial Offer, the Company made an &#8220;inducement&#8221; award of non-qualified stock options to purchase </font><font style=\"font-family:inherit;font-size:10pt;\">0.3 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares of the Company's common stock with an exercise price of </font><font style=\"font-family:inherit;font-size:10pt;\">$5.05</font><font style=\"font-family:inherit;font-size:10pt;\"> per share, equal to the grant date fair value based upon the closing price of the Company's common stock. The stock option was granted outside the terms of the Company's 2010 Equity Incentive Award Plan (under the employee inducement award exemption under the New York Stock Exchange Listed Company Manual Rule&#160;303A.08). The stock option will vest and become exercisable over </font><font style=\"font-family:inherit;font-size:10pt;\">four</font><font style=\"font-family:inherit;font-size:10pt;\"> years from the date of grant, with </font><font style=\"font-family:inherit;font-size:10pt;\">25%</font><font style=\"font-family:inherit;font-size:10pt;\"> of the shares vesting on the </font><font style=\"font-family:inherit;font-size:10pt;\">one</font><font style=\"font-family:inherit;font-size:10pt;\">-year anniversary of the grant date and the remaining shares vesting quarterly thereafter over the next </font><font style=\"font-family:inherit;font-size:10pt;\">three</font><font style=\"font-family:inherit;font-size:10pt;\"> years, subject to continued employment with the Company.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In December 2017, the Company granted </font><font style=\"font-family:inherit;font-size:10pt;\">1.6 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares of performance-based stock option awards to its executives. These performance-based stock option awards contain a </font><font style=\"font-family:inherit;font-size:10pt;\">one</font><font style=\"font-family:inherit;font-size:10pt;\">-year performance period and a subsequent </font><font style=\"font-family:inherit;font-size:10pt;\">two</font><font style=\"font-family:inherit;font-size:10pt;\">-year service period. The performance target is based on the Company&#8217;s non-GAAP operating income during the performance period and accounted for as a performance condition. After the one-year performance period, if the performance target is met and subject to certification by the Compensation Committee of the Company&#8217;s Board of Directors, each performance-based stock option award shall vest with respect to </font><font style=\"font-family:inherit;font-size:10pt;\">50%</font><font style=\"font-family:inherit;font-size:10pt;\"> of the earned shares on January 1, 2019 and </font><font style=\"font-family:inherit;font-size:10pt;\">6.25%</font><font style=\"font-family:inherit;font-size:10pt;\"> of the earned shares quarterly thereafter, subject to the executive&#8217;s continuous service with the Company from the grant date through the respective vesting dates. If the performance target is not met, all such performance-based stock options shall be immediately forfeited and canceled. In November 2018, the Compensation Committee of the Company&#8217;s Board of Directors modified the performance target. Subsequently, in February 2019, the Compensation Committee of the Company&#8217;s Board of Directors concluded that the revised performance target was met based on the actual non-GAAP net income achieved for 2018. As such, each stock option was earned subject to the executive's continuous service with the Company from the grant date through the remaining vesting dates.</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Stock Options </font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table summarizes the activity of stock options under the Company&#8217;s equity incentive plans (in thousands, except per share data):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.0390625%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"14\" rowspan=\"1\"></td></tr><tr><td style=\"width:44%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Weighted-</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Average</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Weighted-</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Remaining</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Average</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Contractual</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Aggregate</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Number of</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Exercise Price</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Life</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Intrinsic</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;text-decoration:underline;\">Stock Options</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Shares</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Per Share</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">(in years)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">&#160;&#160;&#160;Value </font><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\"><sup style=\"vertical-align:top;line-height:120%;font-size:5pt\">(1)</sup></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Outstanding as of December 31, 2017</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,756</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.38</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Granted</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">230</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.77</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Exercised</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(57</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.70</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Canceled</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1,487</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.22</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Outstanding as of December 31, 2018</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4,442</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.40</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.3</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,377</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Vested and expected to vest as of&#160;December 31, 2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4,333</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.43</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.3</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,006</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Options exercisable as of December 31, 2018</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,903</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9.04</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5.4</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,300</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;text-decoration:underline;\">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td colspan=\"14\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:left;padding-left:18px;text-indent:-18px;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(1) Amounts represent the difference between the exercise price and the fair market value of common stock at December 31, 2018 of $9.75 per share for all in the money options outstanding.</font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">During the years ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">2016</font><font style=\"font-family:inherit;font-size:10pt;\">, total intrinsic value of stock options exercised was </font><font style=\"font-family:inherit;font-size:10pt;\">$148 thousand</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">$10 thousand</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">$5 thousand</font><font style=\"font-family:inherit;font-size:10pt;\">, respectively. Total cash received from employees as a result of stock option exercises in </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">2016</font><font style=\"font-family:inherit;font-size:10pt;\"> was </font><font style=\"font-family:inherit;font-size:10pt;\">$0.4 million</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">$62 thousand</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">$17 thousand</font><font style=\"font-family:inherit;font-size:10pt;\">, respectively. Total fair values of stock options vested during </font><font style=\"font-family:inherit;font-size:10pt;\">2018</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">2016</font><font style=\"font-family:inherit;font-size:10pt;\"> were </font><font style=\"font-family:inherit;font-size:10pt;\">$2.7 million</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">$2.1 million</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">$1.9 million</font><font style=\"font-family:inherit;font-size:10pt;\">, respectively.</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Restricted Stock Units and Performance Restricted Stock Units</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table summarizes the activities of the Company&#8217;s RSUs and PRSUs under the Company&#8217;s equity incentive plans (in thousands, except per share data):</font></div><div style=\"line-height:120%;padding-top:6px;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"15\" rowspan=\"1\"></td></tr><tr><td style=\"width:40%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:12%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"6\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">RSUs</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"6\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">PRSUs</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Weighted-</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Weighted-</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Average</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Average</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Grant Date</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Grant Date</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Number of</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Fair Value</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Number of</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Fair Value</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Shares</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Per Share</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Shares</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Per Share</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Outstanding at December 31, 2017</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,726</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.53</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">150</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.42</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Granted</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">174</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.66</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Vested</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(835</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.57</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(87</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.42</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Canceled</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(277</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.65</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Outstanding at December 31, 2018</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">788</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.26</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">63</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.42</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Upon vesting of certain RSUs and PRSUs, the Company withheld shares with value equivalent to the employees&#8217; minimum statutory obligation for the applicable income and other employment taxes and remitted the cash to the appropriate taxing authorities. The number of shares withheld was based on the value of the RSUs or PRSUs on their vesting date as determined by the Company&#8217;s closing stock price. The withheld shares are reserved for future grant and issuance under the 2010 Plan.</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Employee Stock Purchase Plans</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company maintains two employee stock purchase plans - the Amended and Restated Employee Stock Purchase Plan (the &#8220;ESPP&#8221;) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the &#8220;Nonqualified ESPP&#8221;). </font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The ESPP allows eligible employees to purchase shares of the Company&#8217;s common stock through payroll deductions of up to </font><font style=\"font-family:inherit;font-size:10pt;\">15%</font><font style=\"font-family:inherit;font-size:10pt;\"> of their annual compensation subject to certain Internal Revenue Code limitations. In addition, no participant may purchase more than </font><font style=\"font-family:inherit;font-size:10pt;\">2,000</font><font style=\"font-family:inherit;font-size:10pt;\"> shares of common stock in each offering period.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:11pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The offering periods under the ESPP are six-month periods commencing on May 15</font><font style=\"font-family:inherit;font-size:11pt;\"><sup style=\"vertical-align:top;line-height:120%;font-size:7pt\">th</sup></font><font style=\"font-family:inherit;font-size:10pt;\"> and November 15</font><font style=\"font-family:inherit;font-size:11pt;\"><sup style=\"vertical-align:top;line-height:120%;font-size:7pt\">th</sup></font><font style=\"font-family:inherit;font-size:11pt;\"> </font><font style=\"font-family:inherit;font-size:10pt;\">of each year. The price of common stock purchased under the ESPP is </font><font style=\"font-family:inherit;font-size:10pt;\">85%</font><font style=\"font-family:inherit;font-size:10pt;\"> of the lower of the fair market value of the common stock on the commencement date and end date of each </font><font style=\"font-family:inherit;font-size:10pt;\">six</font><font style=\"font-family:inherit;font-size:10pt;\">-month offering period.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The ESPP provides for the issuance of a maximum of </font><font style=\"font-family:inherit;font-size:10pt;\">7.3 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares of common stock. For the year ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, shares totaling </font><font style=\"font-family:inherit;font-size:10pt;\">0.9 million</font><font style=\"font-family:inherit;font-size:10pt;\"> were purchased and issued. As of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, there were </font><font style=\"font-family:inherit;font-size:10pt;\">1.5 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares available for issuance.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">On March 30, 2017, the Company&#8217;s Board of Directors, upon recommendation of the Compensation Committee, approved the adoption of the Nonqualified ESPP. The Nonqualified ESPP was approved by the Company's stockholders on May 17, 2017, with the initial offering period commencing July 1, 2017. Under the Nonqualified ESPP, eligible employees can purchase shares of the Company&#8217;s common stock through payroll deductions of up to </font><font style=\"font-family:inherit;font-size:10pt;\">25%</font><font style=\"font-family:inherit;font-size:10pt;\"> of their annual compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company&#8217;s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company&#8217;s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the one year period immediately following the purchase date. The Nonqualified ESPP provides </font><font style=\"font-family:inherit;font-size:10pt;\">two</font><font style=\"font-family:inherit;font-size:10pt;\"> </font><font style=\"font-family:inherit;font-size:10pt;\">six</font><font style=\"font-family:inherit;font-size:10pt;\">-month offering periods, from June 21 through December 20 and December 21 through June 20 of each year. At the annual meeting of the Company's stockholders on May 16, 2018, the stockholders approved to amend certain terms and increase the number of shares of common stock issuable under the Nonqualified ESPP by </font><font style=\"font-family:inherit;font-size:10pt;\">2.5 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares. The maximum number of shares of common stock authorized for issuance under the Nonqualified ESPP as of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\"> is </font><font style=\"font-family:inherit;font-size:10pt;\">3.5 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares, with a maximum of </font><font style=\"font-family:inherit;font-size:10pt;\">0.5 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares allocated per purchase period. For the year ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, shares totaling </font><font style=\"font-family:inherit;font-size:10pt;\">0.3 million</font><font style=\"font-family:inherit;font-size:10pt;\"> were purchased and issued, with an additional equal number of shares issued subject to a risk of forfeiture. As of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, there were </font><font style=\"font-family:inherit;font-size:10pt;\">2.8 million</font><font style=\"font-family:inherit;font-size:10pt;\"> shares available for future issuance. </font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Stock-Based Compensation</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Stock-based compensation expense associated with stock options, RSUs, PRSUs and purchase rights under the Company&#8217;s ESPP and Nonqualified ESPP is measured at the grant date based on the fair value of the award, and is recognized, net of forfeitures, as expense over the remaining requisite service period on a straight-line basis. During the years ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">2016</font><font style=\"font-family:inherit;font-size:10pt;\">, the Company recorded stock-based compensation expense of </font><font style=\"font-family:inherit;font-size:10pt;\">$17.5 million</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">$12.4 million</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">$14.3 million</font><font style=\"font-family:inherit;font-size:10pt;\">, respectively.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table summarizes the weighted-average grant date fair values of the Company&#8217;s stock-based awards granted in the periods indicated:</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:85.9375%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:55%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Stock options</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3.41</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3.19</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3.58</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">RSUs</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">N/A</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.75</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.91</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">PRSUs</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">N/A</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">N/A</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.42</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">ESPP</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2.21</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.76</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.92</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Nonqualified ESPP</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">7.34</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.90</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">N/A</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company values the RSUs and employee stock purchase rights under the Nonqualified ESPP at the closing market price of the Company&#8217;s common stock on the date of grant.</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Stock-based compensation expense associated with PRSUs and performance-based stock option awards with graded vesting features and which contain both a performance and a service condition is only recognized if the Company has determined that it is probable that the performance condition will be met. The Company reassesses the probability of vesting at each reporting period and adjusts compensation expense based on its probability assessment. The probability of meeting the performance condition related to the performance-based stock option awards granted in December 2017 was assessed as probable as of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">. As a result, the Company recognized a cumulative stock-based compensation expense of </font><font style=\"font-family:inherit;font-size:10pt;\">$6.9 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in the fourth quarter of 2018, based on a fair value assessment as of the date of modification.</font></div><div style=\"line-height:120%;padding-top:6px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company estimates the fair value of stock options and employee stock purchase right under the ESPP at the grant date using the Black-Scholes option-pricing model. This model requires the use of the following assumptions:</font></div><table cellpadding=\"0\" cellspacing=\"0\" style=\"padding-top:4px;font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:54px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:10pt;padding-left:30px;\"><font style=\"font-family:inherit;font-size:10pt;\">(i)</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Expected volatility of the Company&#8217;s common stock &#8211; The Company computes its expected volatility assumption based on a blended volatility (</font><font style=\"font-family:inherit;font-size:10pt;\">50%</font><font style=\"font-family:inherit;font-size:10pt;\"> historical volatility and </font><font style=\"font-family:inherit;font-size:10pt;\">50%</font><font style=\"font-family:inherit;font-size:10pt;\"> implied volatility from traded options on the Company&#8217;s common stock). The selection of a blended volatility assumption was based upon the Company&#8217;s assessment that a blended volatility is more representative of the Company&#8217;s future stock price trend as it weighs the historical volatility with the future implied volatility.</font></div></td></tr></table><table cellpadding=\"0\" cellspacing=\"0\" style=\"padding-top:4px;font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:54px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:10pt;padding-left:30px;\"><font style=\"font-family:inherit;font-size:10pt;\">(ii)</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Expected life of the option award &#8211; Represents the weighted-average period that the stock options are expected to remain outstanding. The Company&#8217;s computation of expected life utilizes the simplified method in accordance with Staff Accounting Bulletin No.&#160;110 (&#8220;SAB 110&#8221;) due to the lack of sufficient historical exercise data to provide a reasonable basis upon which to estimate expected term.&#160;The mid-point between the vesting date and the expiration date is used as the expected term under this method.</font></div></td></tr></table><table cellpadding=\"0\" cellspacing=\"0\" style=\"padding-top:4px;font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:54px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:10pt;padding-left:30px;\"><font style=\"font-family:inherit;font-size:10pt;\">(iii)</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Expected dividend yield &#8211; Assumption is based on the Company&#8217;s history of not paying dividends and no future expectations of dividend payouts.</font></div></td></tr></table><table cellpadding=\"0\" cellspacing=\"0\" style=\"padding-top:4px;font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:54px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:10pt;padding-left:30px;\"><font style=\"font-family:inherit;font-size:10pt;\">(iv)</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Risk-free interest rate &#8211; Based on the U.S. Treasury yield curve in effect at the time of grant with maturities approximating the grant&#8217;s expected life.</font></div></td></tr></table><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table summarizes the weighted-average assumptions used in estimating the grant-date fair value of stock options and of each employee&#8217;s purchase right under the ESPP in the periods indicated:</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"10\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"8\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;text-decoration:underline;\">Stock Options</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Expected volatility</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">50</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">52</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">53</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Expected life (years)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.11</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5.88</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6.25</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Expected dividend yield</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Risk-free interest rate</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2.83</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2.10</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.60</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"10\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"8\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;text-decoration:underline;\">ESPP</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Expected volatility</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">42</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">45</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">46</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Expected life (years)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.50</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.49</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.52</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Expected dividend yield</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Risk-free interest rate</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2.21</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.24</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">0.47</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">%</font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In addition, the Company applies an estimated forfeiture rate to awards granted and records stock-based compensation expense only for those awards that are expected to vest. Forfeiture rates are estimated at the time of grant based on the Company&#8217;s historical experience. Further, to the extent the Company&#8217;s actual forfeiture rate is different from management&#8217;s estimate, stock-based compensation is adjusted accordingly.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">As of </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, unrecognized stock-based compensation expenses by award type, net of estimated forfeitures, and their expected weighted-average recognition periods are summarized in the following table (in thousands).</font></div><div style=\"line-height:120%;text-align:center;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:75.9765625%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:49%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:13%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31, 2018</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Stock Option</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">RSU</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">ESPPs</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Unrecognized stock-based compensation expense</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,088</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,337</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,879</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Weighted-average amortization period (in years)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.9</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.0</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1.1</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company expects to recognized stock-based compensation expense of </font><font style=\"font-family:inherit;font-size:10pt;\">$8.6 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in 2019, </font><font style=\"font-family:inherit;font-size:10pt;\">$3.0 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in 2020, </font><font style=\"font-family:inherit;font-size:10pt;\">$0.6 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in 2021 and </font><font style=\"font-family:inherit;font-size:10pt;\">$0.1 million</font><font style=\"font-family:inherit;font-size:10pt;\"> in 2022. </font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Shares Reserved for Future Issuance </font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company had common shares reserved for future issuance as follows (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.234375%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"7\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"5\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Stock options outstanding</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4,442</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,756</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Restricted stock units outstanding</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">788</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,726</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Performance restricted stock units outstanding</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">63</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">150</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Shares available for future grant under 2010 Plan</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,306</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">281</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Shares available for future issuance under ESPP</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,550</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,456</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Shares available for future issuance under Nonqualified ESPP</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,764</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">551</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">11,913</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,920</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-1007","factDimensions":{"xbrl:concept":"us-gaap:StandardProductWarrantyPolicy","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Warranty and Retrofit</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company offers limited warranties for its hardware products for a period of </font><font style=\"font-family:inherit;font-size:10pt;\">one</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">three</font><font style=\"font-family:inherit;font-size:10pt;\"> or </font><font style=\"font-family:inherit;font-size:10pt;\">five</font><font style=\"font-family:inherit;font-size:10pt;\"> years, depending on the product type. The Company recognizes estimated costs related to warranty activities as a component of cost of revenue upon product shipment or upon identification of a specific product failure. Under certain circumstances, the Company also provides fixes on specifically identified performance failures for products that are outside of the standard warranty period and recognizes estimated costs related to retrofit activities as a component of cost of revenue upon identification of such product failures. The Company recognizes estimated warranty and retrofit costs when it is probable that a liability has been incurred and the amount of loss is reasonably estimable. The estimates are based upon historical and projected product failure and claim rates, historical costs incurred in correcting product failures and information available related to any specifically identified product failures. Judgment is required in estimating costs associated with warranty and retrofit activities, and the Company's estimates are limited to information available to the Company at the time of such estimates. In some cases, such as when a specific product failure is first identified or a new product is introduced, the Company may initially have limited information and limited historical failure and claim rates upon which to base its estimates, and such estimates may require revision in future periods. The recorded amount is adjusted from time to time for specifically identified warranty and retrofit exposure. Actual warranty and retrofit expenses are charged against the Company&#8217;s estimated warranty and retrofit liability when incurred. Factors that affect the Company&#8217;s warranty and retrofit liability include the number of active installed units and historical and anticipated rates of warranty and retrofit claims and cost per claim.</font></div></div>"}]},{"name":"rpt:f-1008","factDimensions":{"xbrl:concept":"us-gaap:SubsequentEventsTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Subsequent Event</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">In February 2019, the Company entered into an amendment to the Loan Agreement with SVB that amended the affirmative financial covenants to reduce the required minimum level of the AQR for the first half of 2019 and the required minimum Adjusted EBITDA for the first fiscal quarter of 2019. AQR and Adjusted EBITDA are defined in the Loan Agreement, as previously amended. These covenant modifications were provided to accommodate the increased costs and use of cash anticipated for the first half of 2019 related to activities to mitigate the impact of the U.S. tariffs imposed on goods imported from China, including advance purchases of inventory, as part of the Company&#8217;s realignment of its supply chain.</font></div></div>"}]},{"name":"rpt:f-1009","factDimensions":{"xbrl:concept":"us-gaap:SummaryOfIncomeTaxContingenciesTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table reconciles the Company&#8217;s unrecognized tax benefits (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:88.8671875%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at beginning of year</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">20,289</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">18,349</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;&#160;&#160;&#160;Additions for tax positions related to prior year</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">516</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;&#160;&#160;&#160;Additions for tax positions related to current year</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,193</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,940</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at end of year</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">21,998</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">20,289</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div></div></div>"}]},{"name":"rpt:f-1010","factDimensions":{"xbrl:concept":"us-gaap:SupplementalBalanceSheetDisclosuresTextBlock","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:16px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-weight:bold;\">Balance Sheet Details</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Accounts receivable, net consisted of the following (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.3674280039722%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accounts receivable</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">67,396</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">81,793</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Allowance for doubtful accounts</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(370</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(579</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product return reserve </font><font style=\"font-family:inherit;font-size:9pt;\"><sup style=\"vertical-align:top;line-height:120%;font-size:6pt\">(1)</sup></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(822</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">67,026</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">80,392</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:108px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:9pt;padding-left:84px;\"><font style=\"font-family:inherit;font-size:9pt;\">(1)</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">With adoption of Topic 606 on January 1, 2018, the product return reserve is considered a contract liability and has been reclassified to accrued liabilities.</font></div></td></tr></table><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The table below summarizes the changes in allowance for doubtful accounts and product return reserve for the periods indicated (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.16881827209534%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"17\" rowspan=\"1\"></td></tr><tr><td style=\"width:40%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:11%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Balance at Beginning of Year</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Additions Charged to Costs or Expenses or Revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Deductions and Write Offs</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Balance at </font></div><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">End of Year</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Year Ended December 31, 2018</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Allowance for doubtful accounts</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">579</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(5</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(204</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">370</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product return reserve</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">822</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">771</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(713</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">880</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:Times New Roman;font-size:9pt;\">Year Ended December 31, 2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Allowance for doubtful accounts</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">518</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">103</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(42</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">579</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product return reserve</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">938</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,682</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(3,798</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">822</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:Times New Roman;font-size:9pt;\">Year Ended December 31, 2016</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Allowance for doubtful accounts</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">501</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">232</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(215</font></div></td><td style=\"vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">518</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product return reserve</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">663</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,679</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(3,404</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">938</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Inventory consisted of the following (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.3674280039722%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Raw materials</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">10,815</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,211</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Finished goods</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">39,336</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">30,318</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">50,151</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">31,529</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Property and equipment, net consisted of the following (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.3674280039722%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Test equipment</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">39,148</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">39,952</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Computer equipment and purchased software</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">34,697</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">32,175</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Furniture and fixtures</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,976</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,714</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Leasehold improvements</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,559</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,029</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">79,380</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">80,870</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accumulated depreciation and amortization</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(54,435</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(65,189</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">24,945</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">15,681</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Depreciation and amortization expenses were&#160;</font><font style=\"font-family:inherit;font-size:10pt;\">$9.2 million</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">$10.2 million</font><font style=\"font-family:inherit;font-size:10pt;\"> and&#160;</font><font style=\"font-family:inherit;font-size:10pt;\">$8.3 million</font><font style=\"font-family:inherit;font-size:10pt;\"> for the years ended </font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">, </font><font style=\"font-family:inherit;font-size:10pt;\">2017</font><font style=\"font-family:inherit;font-size:10pt;\"> and </font><font style=\"font-family:inherit;font-size:10pt;\">2016</font><font style=\"font-family:inherit;font-size:10pt;\">, respectively.</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Accrued liabilities consisted of the following (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.3674280039722%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued compensation and related benefits</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">19,811</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">15,563</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued warranty and retrofit</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,547</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,708</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued customer rebates/prepayments </font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,103</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,432</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued professional and consulting fees</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,060</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,604</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued excess and obsolete inventory at CMs or ODMs</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,667</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">2,430</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Current portion of equipment financing arrangements</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,778</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued business events</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,696</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,272</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued non-income related taxes</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,288</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,778</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued freight</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,187</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">593</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued insurance</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">917</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">827</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product return reserve </font><font style=\"font-family:inherit;font-size:9pt;\"><sup style=\"vertical-align:top;line-height:120%;font-size:6pt\">(1)</sup></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">880</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued restructuring charges</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">28</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,417</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Accrued other</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">6,907</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,655</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">57,869</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">49,279</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman; font-size:10pt;\"><tr><td style=\"width:108px;\" rowspan=\"1\" colspan=\"1\"></td><td rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:top\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;font-size:9pt;padding-left:84px;\"><font style=\"font-family:inherit;font-size:9pt;\">(1)</font></div></td><td style=\"vertical-align:top;\" rowspan=\"1\" colspan=\"1\"><div style=\"line-height:120%;text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">With adoption of Topic 606 on January 1, 2018, the product return reserve is considered a contract liability and has been reclassified from accounts receivable.</font></div></td></tr></table><div style=\"line-height:120%;text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Changes in the Company&#8217;s accrued warranty and retrofit liability were as follows (in thousands):</font></div><div style=\"line-height:120%;padding-top:8px;text-align:center;padding-left:0px;text-indent:0px;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.16881827209534%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"11\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Years Ended December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">2016</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at beginning of period</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,708</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,214</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,564</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Provision for warranty and retrofit charged to cost of revenue</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,215</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,720</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,898</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Utilization of reserve</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(5,376</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(12,226</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(6,816</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Adjustments to pre-existing reserve</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(432</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at end of period</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,547</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">8,708</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">12,214</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Accrued Restructuring Charges</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company adopted a restructuring plan in March 2017. This restructuring plan realigned the Company&#8217;s business, increasing its focus towards its investments in software defined access and cloud products, while reducing its expense structure in its traditional systems business. The Company began to take actions under this plan beginning in March 2017 and recognized </font><font style=\"font-family:inherit;font-size:10pt;\">$4.2 million</font><font style=\"font-family:inherit;font-size:10pt;\"> of restructuring charges for the year ended December&#160;31, 2017, consisting primarily of severance and other one-time termination benefits. Actions pursuant to this restructuring plan were complete as of December&#160;31, 2017.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The Company established a new restructuring plan in February 2018 to further align its business resources based on the production releases of its platform offerings. The Company incurred restructuring charges of approximately </font><font style=\"font-family:inherit;font-size:10pt;\">$5.7 million</font><font style=\"font-family:inherit;font-size:10pt;\"> for the year ended December&#160;31, 2018, consisting primarily of severance and other termination related benefits.</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The following table summarizes the activities pursuant to the above restructuring plans (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.16881827209534%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"13\" rowspan=\"1\"></td></tr><tr><td style=\"width:58%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Severance and Related Benefits</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Facilities</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:8pt;\"><font style=\"font-family:inherit;font-size:8pt;font-weight:bold;\">Total</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at December 31, 2016</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Restructuring charges for the year</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,807</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">442</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4,249</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Cash payments</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2,832</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(2,832</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at December 31, 2017</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">975</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">442</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">1,417</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Restructuring charges for the year</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,203</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">502</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">5,705</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Cash payments</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(6,178</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(916</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">(7,094</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">)</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Balance at December 31, 2018</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">&#8212;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">28</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">28</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Contract Asset</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The primary contract asset is revenue recognized on professional services contracts where the services are transferred to the customer over time, less any progress billings and advanced payments, and is classified within accounts receivable.&#160;Amounts are billed in accordance with the agreed-upon contractual terms.&#160;The opening balance at January 1, 2018 was </font><font style=\"font-family:inherit;font-size:10pt;\">$1.5 million</font><font style=\"font-family:inherit;font-size:10pt;\"> of which </font><font style=\"font-family:inherit;font-size:10pt;\">$0.2 million</font><font style=\"font-family:inherit;font-size:10pt;\"> remained in our Consolidated Balance Sheet at December 31, 2018.&#160;The closing balance at December 31, 2018 was </font><font style=\"font-family:inherit;font-size:10pt;\">$5.9 million</font><font style=\"font-family:inherit;font-size:10pt;\"> of which we expect to bill substantially all of the balance during 2019. The increase in the contract asset was driven by the timing of professional services contracts with a major customer at the end of fiscal 2018.</font></div><div style=\"line-height:120%;padding-top:12px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;\">Contract Liability</font></div><div style=\"line-height:120%;padding-top:8px;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">Deferred revenue consisted of the following (in thousands):</font></div><div style=\"line-height:120%;text-align:center;font-size:10pt;\"><div style=\"padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:90.3674280039722%;border-collapse:collapse;text-align:left;\"><tr><td colspan=\"9\" rowspan=\"1\"></td></tr><tr><td style=\"width:72%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:2%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:10%;\" rowspan=\"1\" colspan=\"1\"></td><td style=\"width:1%;\" rowspan=\"1\" colspan=\"1\"></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"7\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">December 31,</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2018</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:center;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;font-weight:bold;\">2017</font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Current:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product and services</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">11,600</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">9,125</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Extended warranty</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">4,000</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">3,951</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">15,600</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">13,076</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Non-current:</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"3\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Product and services</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">440</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">18</font></div></td><td style=\"vertical-align:bottom;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">Extended warranty</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">17,056</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">20,627</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">17,496</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td colspan=\"2\" style=\"vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;\" rowspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">20,645</font></div></td><td style=\"vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr><tr><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">33,096</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td><td style=\"vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"overflow:hidden;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">&#160;</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">$</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:right;font-size:9pt;\"><font style=\"font-family:inherit;font-size:9pt;\">33,721</font></div></td><td style=\"vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;\" rowspan=\"1\" colspan=\"1\"><div style=\"text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div></td></tr></table></div><font style=\"font-family:inherit;font-size:10pt;\"><br clear=\"none\"/></font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The&#160;decrease&#160;in the deferred revenue balance for the&#160;year ended&#160;</font><font style=\"font-family:inherit;font-size:10pt;\">December&#160;31, 2018</font><font style=\"font-family:inherit;font-size:10pt;\">&#160;is primarily driven by </font><font style=\"font-family:inherit;font-size:10pt;\">$11.9 million</font><font style=\"font-family:inherit;font-size:10pt;\">&#160;of revenue recognized that was included in the deferred revenue balance at the beginning of the year offset by cash payments received or due in advance of satisfying our performance obligations.</font></div></div>"}]},{"name":"rpt:f-1011","factDimensions":{"xbrl:concept":"us-gaap:UseOfEstimates","xbrl:period":"2018-01-01T00:00:00/2019-01-01T00:00:00","xbrl:entity":"cik:0001406666"},"factValues":[{"value":"<div style=\"font-family:Times New Roman;font-size:10pt;\"><div style=\"line-height:120%;padding-top:12px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;font-style:italic;font-weight:bold;\">Use of Estimates</font></div><div style=\"line-height:120%;padding-top:8px;text-align:left;font-size:10pt;\"><font style=\"font-family:inherit;font-size:10pt;\">The preparation of financial statements is in conformity with U.S. GAAP, which requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. For the Company, these estimates include, but are not limited to: allowances for doubtful accounts and sales returns, excess and obsolete inventory, allowances for obligations to its contract manufacturers, valuation of stock-based compensation, useful lives assigned to long-lived assets, standard and extended warranty costs and contingencies. Actual results could differ from those estimates, and such differences could be material to the Company&#8217;s financial position and results of operations.</font></div></div>"}]}]}}