<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!-- RR Donnelley Xcelerate Instance Document, based on XBRL 2.1  http://www.rrdonnelley.com/ -->
<!-- Version:  6.22.4 -->
<!-- Round: 3 -->
<!-- Creation date: 2015-04-25T16:11:43Z -->
<!-- Copyright (c) 2005-2013 R.R. Donnelley & Sons Company All Rights Reserved. -->
<xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:xbrll="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:us-gaap="http://fasb.org/us-gaap/2014-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2014-01-31" xmlns:spsc="http://www.spscommerce.com/20150331" xmlns:us-types="http://fasb.org/us-types/2014-01-31" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:stpr="http://xbrl.sec.gov/stpr/2011-01-31" xmlns:country="http://xbrl.sec.gov/country/2013-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2014-01-31" xmlns:exch="http://xbrl.sec.gov/exch/2014-01-31" xmlns:naics="http://xbrl.sec.gov/naics/2011-01-31" xmlns:invest="http://xbrl.sec.gov/invest/2013-01-31" xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:utr="http://www.xbrl.org/2009/utr">
  <xbrll:schemaRef xlink:type="simple" xlink:arcrole="http://www.xbrl.org/2003/linkbase" xlink:href="spsc-20150331.xsd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrll="http://www.xbrl.org/2003/linkbase" />
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="eol_PE159725--1510-Q0002_STD_0_20131231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2001_27">131294000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CommonStockSharesIssued contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_37">16348747</us-gaap:CommonStockSharesIssued>
  <us-gaap:CommonStockSharesOutstanding contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_38">16348747</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockSharesAuthorized contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_36">55000000</us-gaap:CommonStockSharesAuthorized>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_405BDBB1-4FCB-48A2-A89B-B24F519A11FD_1001_1">26.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
  <us-gaap:PreferredStockSharesOutstanding contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_33">0</us-gaap:PreferredStockSharesOutstanding>
  <us-gaap:CommonStockParOrStatedValuePerShare contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD_per_shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_35">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
  <us-gaap:PreferredStockSharesAuthorized contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_31">5000000</us-gaap:PreferredStockSharesAuthorized>
  <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD_per_shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_30">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
  <us-gaap:PreferredStockSharesIssued contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_32">0</us-gaap:PreferredStockSharesIssued>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="shares" decimals="INF" id="id_7874197_A4E10C18-56A1-4375-8153-775978DD55F1_1001_1">1085463</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:DeferredRevenueNoncurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_24">10653000</us-gaap:DeferredRevenueNoncurrent>
  <us-gaap:DeferredRentCreditCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_21">698000</us-gaap:DeferredRentCreditCurrent>
  <us-gaap:PreferredStockValue contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" xsi:nil="true" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_29" />
  <us-gaap:LiabilitiesCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_22">24560000</us-gaap:LiabilitiesCurrent>
  <us-gaap:CommonStockValue contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_34">16000</us-gaap:CommonStockValue>
  <us-gaap:CommitmentsAndContingencies contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" xsi:nil="true" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_27" />
  <us-gaap:AccountsPayableCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_17">3961000</us-gaap:AccountsPayableCurrent>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_40">-44088000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_39">250633000</us-gaap:AdditionalPaidInCapitalCommonStock>
  <us-gaap:AccruedLiabilitiesCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_19">2470000</us-gaap:AccruedLiabilitiesCurrent>
  <us-gaap:StockholdersEquity contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_42">205091000</us-gaap:StockholdersEquity>
  <us-gaap:LiabilitiesAndStockholdersEquity contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_43">243775000</us-gaap:LiabilitiesAndStockholdersEquity>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_1004_5">10644000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:DeferredRevenueCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_20">7505000</us-gaap:DeferredRevenueCurrent>
  <us-gaap:Liabilities contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_26">38684000</us-gaap:Liabilities>
  <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_18">9926000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
  <us-gaap:DeferredRentCreditNoncurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_25">3471000</us-gaap:DeferredRentCreditNoncurrent>
  <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_3">279000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
  <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_41">-1470000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_3001_27">130795000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:DeferredCosts contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_12">5267000</us-gaap:DeferredCosts>
  <us-gaap:Goodwill contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_9">34854000</us-gaap:Goodwill>
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_8">11361000</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:DeferredTaxAssetsNetNoncurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_13">11035000</us-gaap:DeferredTaxAssetsNetNoncurrent>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_10">18851000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:DeferredCostsCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_4">12055000</us-gaap:DeferredCostsCurrent>
  <us-gaap:Assets contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_15">243775000</us-gaap:Assets>
  <us-gaap:DeferredTaxAssetsNetCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_5">76000</us-gaap:DeferredTaxAssetsNetCurrent>
  <us-gaap:AccountsReceivableNetCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_2">15422000</us-gaap:AccountsReceivableNetCurrent>
  <us-gaap:OtherAssetsCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_6">3846000</us-gaap:OtherAssetsCurrent>
  <us-gaap:OtherAssetsNoncurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_14">213000</us-gaap:OtherAssetsNoncurrent>
  <us-gaap:AssetsCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_2_7">162194000</us-gaap:AssetsCurrent>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_1004_4">29495000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1270313x1271210" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_FA68545A-9945-4829-9AD8-4016F2D51FE4_1001_1">51.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1270313x1271210" unitRef="shares" decimals="INF" id="id_7874197_D8694443-2FAD-4C2F-A299-FC4DBEDFD94A_1001_1">1338</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1270313x1271212" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_8F680868-14FC-4BB8-89CE-F56535A82C9B_1001_1">45.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1270313x1271212" unitRef="shares" decimals="INF" id="id_7874197_F352DCD6-6B49-41C0-A528-627DDE495E40_1001_1">115133</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1277337x1270454" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_1001_5">8992000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1277337x1270454" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_1001_6">17732000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1277337x1270454" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_1001_4">26724000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1277337x1274350" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_1002_5">1581000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1277337x1274350" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_1002_6">268000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1277337x1274350" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_1002_4">1849000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1277337x1614004" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_1003_5">71000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1277337x1614004" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_1003_6">851000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="eol_PE159725--1510-Q0002_STD_0_20141231_0_1277337x1614004" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_1003_4">922000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <dei:EntityCommonStockSharesOutstanding contextRef="eol_PE159725--1510-Q0002_STD_0_20150422_0" unitRef="shares" decimals="INF" id="id_7874197_7F49BB62-50A7-4AEC-B655-F38E42994F4B_2_5">16527869</dei:EntityCommonStockSharesOutstanding>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="eol_PE159725--1510-Q0002_STD_0_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1002_28">134603000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CommonStockSharesIssued contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_37">16525270</us-gaap:CommonStockSharesIssued>
  <us-gaap:CommonStockSharesOutstanding contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_38">16525270</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockSharesAuthorized contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_36">55000000</us-gaap:CommonStockSharesAuthorized>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_405BDBB1-4FCB-48A2-A89B-B24F519A11FD_3001_5">33.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_15DCAB78-67BD-4690-81BB-71E5DC9D95A7_1001_0">698197</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_15DCAB78-67BD-4690-81BB-71E5DC9D95A7_1001_1">21.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
  <us-gaap:PreferredStockSharesOutstanding contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_33">0</us-gaap:PreferredStockSharesOutstanding>
  <us-gaap:CommonStockParOrStatedValuePerShare contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD_per_shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_35">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
  <us-gaap:PreferredStockSharesAuthorized contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_31">5000000</us-gaap:PreferredStockSharesAuthorized>
  <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD_per_shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_30">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
  <us-gaap:PreferredStockSharesIssued contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_32">0</us-gaap:PreferredStockSharesIssued>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="shares" decimals="-5" id="id_7874197_88207451-471C-41D4-B012-C839B59737FB_2002_1">3400000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_A4E10C18-56A1-4375-8153-775978DD55F1_3001_5">1078861</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:DeferredRevenueNoncurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_24">10550000</us-gaap:DeferredRevenueNoncurrent>
  <us-gaap:DeferredRentCreditCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_21">677000</us-gaap:DeferredRentCreditCurrent>
  <us-gaap:SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="INF" id="id_7874197_262F800B-6C3D-424A-8B8F-FB6575B34125_1_1">0</us-gaap:SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit>
  <us-gaap:PreferredStockValue contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" xsi:nil="true" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_29" />
  <us-gaap:LiabilitiesCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_22">24750000</us-gaap:LiabilitiesCurrent>
  <us-gaap:CommonStockValue contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_34">16000</us-gaap:CommonStockValue>
  <us-gaap:CommitmentsAndContingencies contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" xsi:nil="true" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_27" />
  <us-gaap:AccountsPayableCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_17">3444000</us-gaap:AccountsPayableCurrent>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_40">-43502000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_39">254479000</us-gaap:AdditionalPaidInCapitalCommonStock>
  <us-gaap:AccruedLiabilitiesCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_19">2796000</us-gaap:AccruedLiabilitiesCurrent>
  <us-gaap:StockholdersEquity contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_42">208224000</us-gaap:StockholdersEquity>
  <us-gaap:LiabilitiesAndStockholdersEquity contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_43">246870000</us-gaap:LiabilitiesAndStockholdersEquity>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_2004_2">11489000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:DeferredRevenueCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_20">7530000</us-gaap:DeferredRevenueCurrent>
  <us-gaap:UnrecognizedTaxBenefits contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="INF" id="id_7874197_262F800B-6C3D-424A-8B8F-FB6575B34125_1_0">0</us-gaap:UnrecognizedTaxBenefits>
  <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="INF" id="id_7874197_054B8733-9E69-41CE-8722-FE5BB21B2EBB_1001_0">20000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
  <us-gaap:Liabilities contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_26">38646000</us-gaap:Liabilities>
  <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_18">10303000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
  <us-gaap:DeferredRentCreditNoncurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_25">3346000</us-gaap:DeferredRentCreditNoncurrent>
  <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_3">300000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
  <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_41">-2769000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1001_28">133550000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:DeferredCosts contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_12">5274000</us-gaap:DeferredCosts>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_920E413F-BB66-48A3-A41C-0D90F53D7818_1_3">2456000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
  <us-gaap:Goodwill contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_9">34210000</us-gaap:Goodwill>
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_8">12088000</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:DeferredTaxAssetsNetNoncurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_13">11086000</us-gaap:DeferredTaxAssetsNetNoncurrent>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_10">17705000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:DeferredCostsCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_4">12911000</us-gaap:DeferredCostsCurrent>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_920E413F-BB66-48A3-A41C-0D90F53D7818_1_4">2164000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_920E413F-BB66-48A3-A41C-0D90F53D7818_1_5">4240000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
  <us-gaap:Assets contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_15">246870000</us-gaap:Assets>
  <us-gaap:DeferredTaxAssetsNetCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_5">76000</us-gaap:DeferredTaxAssetsNetCurrent>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-5" id="id_7874197_DD369F1A-0CDD-4A10-9A4A-2BC5E1C4255C_1001_0">14300000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_920E413F-BB66-48A3-A41C-0D90F53D7818_1_1">3314000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
  <us-gaap:AccountsReceivableNetCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_2">15823000</us-gaap:AccountsReceivableNetCurrent>
  <us-gaap:OtherAssetsCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_6">3797000</us-gaap:OtherAssetsCurrent>
  <us-gaap:OtherAssetsNoncurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_14">350000</us-gaap:OtherAssetsNoncurrent>
  <us-gaap:AssetsCurrent contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_7230393F-9426-4213-A270-A1C9998032EE_1_7">166157000</us-gaap:AssetsCurrent>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_920E413F-BB66-48A3-A41C-0D90F53D7818_1_0">2484000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_920E413F-BB66-48A3-A41C-0D90F53D7818_1_2">3047000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_2004_1">29194000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1270313x1271210" unitRef="iso4217_USD_per_shares" decimals="0" id="id_7874197_FA68545A-9945-4829-9AD8-4016F2D51FE4_3001_5">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1270313x1271210" unitRef="shares" decimals="INF" id="id_7874197_D8694443-2FAD-4C2F-A299-FC4DBEDFD94A_3001_5">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1270313x1271212" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_8F680868-14FC-4BB8-89CE-F56535A82C9B_3001_5">56.02</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1270313x1271212" unitRef="shares" decimals="INF" id="id_7874197_F352DCD6-6B49-41C0-A528-627DDE495E40_3001_5">132934</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
  <spsc:EmployeeStockPurchasePlanEmployeesContribution contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1270313x1275629" unitRef="iso4217_USD" decimals="-3" id="id_7874197_521B2F87-3587-4A18-9562-68DEC48F69CE_1001_400000">382000</spsc:EmployeeStockPurchasePlanEmployeesContribution>
  <us-gaap:LineOfCredit contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1275460x1281089" unitRef="iso4217_USD" decimals="INF" id="id_7874197_F05849D6-6D61-40E1-BB89-09008032A36C_1001_0">0</us-gaap:LineOfCredit>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1277337x1270454" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_2001_2">9719000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1277337x1270454" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_2001_3">16771000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1277337x1270454" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_2001_1">26490000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1277337x1274350" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_2002_2">1601000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1277337x1274350" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_2002_3">241000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1277337x1274350" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_2002_1">1842000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1277337x1614004" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_2003_2">169000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1277337x1614004" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_2003_3">693000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1277337x1614004" unitRef="iso4217_USD" decimals="-3" id="id_7874197_E96329BF-BDBE-4544-86F2-B269066D96E4_2003_1">862000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance contextRef="eol_PE159725--1510-Q0002_STD_0_20150331_0_1280964x1425334" unitRef="shares" decimals="-5" id="id_7874197_F45315E7-9CCB-451C-8476-8ADB81FF6394_1001_2">1200000</us-gaap:DeferredCompensationArrangementWithIndividualCommonStockReservedForFutureIssuance>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized contextRef="eol_PE159725--1510-Q0002_STD_31_20150131_0_1268718x1437492_1270313x1276426" unitRef="shares" decimals="INF" id="id_7874197_88207451-471C-41D4-B012-C839B59737FB_1001_0">980924</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized>
  <us-gaap:EarningsPerShareDiluted contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_2_10">0.02</us-gaap:EarningsPerShareDiluted>
  <us-gaap:WeightedAverageNumberOfSharesRestrictedStock contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="shares" decimals="-3" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_2_5">57000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="shares" decimals="-3" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_2_4">616000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_17">3558000</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="shares" decimals="-3" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_2_7">16830000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:EarningsPerShareBasic contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_2_9">0.02</us-gaap:EarningsPerShareBasic>
  <us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="shares" decimals="-3" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_2_6">2000</us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="shares" decimals="INF" id="id_7874197_2BD553A3-4BAD-40E8-9269-BDCBE897AC24_2_0">120000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="shares" decimals="-3" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_2_3">16155000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <us-gaap:InterestIncomeExpenseNet contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_11">49000</us-gaap:InterestIncomeExpenseNet>
  <us-gaap:GrossProfit contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_2">19684000</us-gaap:GrossProfit>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_25">373000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
  <us-gaap:OperatingIncomeLoss contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_9">598000</us-gaap:OperatingIncomeLoss>
  <us-gaap:NonoperatingIncomeExpense contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_13">-7000</us-gaap:NonoperatingIncomeExpense>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_14">591000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:OtherNonoperatingIncomeExpense contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_12">-56000</us-gaap:OtherNonoperatingIncomeExpense>
  <us-gaap:Revenues contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_0">28939000</us-gaap:Revenues>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_19">861000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:NetIncomeLoss contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_1">373000</us-gaap:NetIncomeLoss>
  <us-gaap:IncreaseDecreaseInDeferredCharges contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_10">-764000</us-gaap:IncreaseDecreaseInDeferredCharges>
  <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_9">-712000</us-gaap:IncreaseDecreaseInAccountsReceivable>
  <us-gaap:IncreaseDecreaseInOtherCurrentAssets contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_11">66000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_3">173000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DepreciationDepletionAndAmortization contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_4">1304000</us-gaap:DepreciationDepletionAndAmortization>
  <us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_15">574000</us-gaap:IncreaseDecreaseInDeferredRevenue>
  <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_13">-287000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
  <us-gaap:OperatingExpenses contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_8">19086000</us-gaap:OperatingExpenses>
  <us-gaap:ResearchAndDevelopmentExpense contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_5">2974000</us-gaap:ResearchAndDevelopmentExpense>
  <us-gaap:SellingAndMarketingExpense contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_4">10884000</us-gaap:SellingAndMarketingExpense>
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_23">25000</us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities>
  <us-gaap:IncreaseDecreaseInDeferredLiabilities contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_16">-82000</us-gaap:IncreaseDecreaseInDeferredLiabilities>
  <us-gaap:ProvisionForDoubtfulAccounts contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_6">157000</us-gaap:ProvisionForDoubtfulAccounts>
  <us-gaap:AmortizationOfIntangibleAssets contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_5">717000</us-gaap:AmortizationOfIntangibleAssets>
  <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_26">3309000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
  <us-gaap:IncomeTaxExpenseBenefit contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_CF92D881-45CD-4C40-AE95-0FB9F46755B5_2_0">218000</us-gaap:IncomeTaxExpenseBenefit>
  <us-gaap:CostOfRevenue contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_1">9255000</us-gaap:CostOfRevenue>
  <us-gaap:NetCashProvidedByUsedInFinancingActivitiesContinuingOperations contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_24">612000</us-gaap:NetCashProvidedByUsedInFinancingActivitiesContinuingOperations>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_14">255000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_20">-861000</us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations>
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_22">587000</us-gaap:ProceedsFromStockOptionsExercised>
  <us-gaap:GeneralAndAdministrativeExpense contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_2_6">4511000</us-gaap:GeneralAndAdministrativeExpense>
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_12">445000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <us-gaap:ShareBasedCompensation contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_2_7">1339000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0_1274159x1269133" unitRef="iso4217_USD" decimals="-3" id="id_7874197_D640FB87-0C71-476C-A0C4-896E03DAAEC5_1002_3">611000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0_1274159x1269570" unitRef="iso4217_USD" decimals="-3" id="id_7874197_D640FB87-0C71-476C-A0C4-896E03DAAEC5_2002_2">93000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0_1274159x1270466" unitRef="iso4217_USD" decimals="-3" id="id_7874197_D640FB87-0C71-476C-A0C4-896E03DAAEC5_3002_0">153000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="eol_PE159725--1510-Q0002_STD_90_20140331_0_1274159x1277930" unitRef="iso4217_USD" decimals="-3" id="id_7874197_D640FB87-0C71-476C-A0C4-896E03DAAEC5_4002_1">482000</us-gaap:ShareBasedCompensation>
  <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_9A0F7080-CABB-423D-BE14-28DE38C63199_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Basis of Presentation&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 The accompanying unaudited condensed consolidated financial
 statements include the accounts of SPS Commerce, Inc. and its
 subsidiaries. All intercompany accounts and transactions have been
 eliminated in the condensed consolidated financial statements,
 which have been prepared in conformity with U.S. generally accepted
 accounting principles (&amp;#x201C;GAAP&amp;#x201D;) for interim financial
 information and with the instructions to Form 10-Q and Rule 10-01
 of Regulation S-X. Accordingly, these condensed consolidated
 financial statements do not include all of the information and
 notes required by GAAP. We have included all normal recurring
 adjustments considered necessary to give a fair statement of our
 financial position, results of operations and cash flows for the
 interim periods shown. Operating results for these interim periods
 are not necessarily indicative of the results to be expected for
 the full year. The December&amp;#xA0;31, 2014 condensed consolidated
 balance sheet data was derived from our audited financial
 statements at that date. For further information, refer to the
 consolidated financial statements and accompanying notes for the
 year ended December&amp;#xA0;31, 2014 included in our Annual Report on
 Form 10-K as filed with the Securities and Exchange Commission on
 February&amp;#xA0;20, 2015.&lt;/p&gt;


 &lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
  <us-gaap:DebtDisclosureTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_CD35A927-CF6C-4D18-92C6-21A230D54F11_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-TOP: 18pt"&gt;
 &lt;b&gt;NOTE C &amp;#x2013; Line of Credit&lt;/b&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-TOP: 6pt; TEXT-INDENT: 4%"&gt;
 We have a revolving credit agreement with JPMorgan Chase Bank, N.A.
 which provides for a $20&amp;#xA0;million revolving credit facility
 that we may draw upon from time to time, subject to certain terms
 and conditions, and will mature on September&amp;#xA0;30, 2016.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-TOP: 12pt; TEXT-INDENT: 4%"&gt;
 There were no borrowings outstanding at March&amp;#xA0;31, 2015 and we
 were in compliance with all covenants under the revolving credit
 agreement as of that date.&lt;/p&gt;
 &lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
  <us-gaap:EarningsPerShareDiluted contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_1_10">0.03</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_FACBD0CB-0ED1-4311-9E0A-2BD3C5A9A007_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;b&gt;NOTE F &amp;#x2013; Net Income Per Share&lt;/b&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Basic net income per share has been computed using the weighted
 average number of shares of common stock outstanding during each
 period. Diluted net income per share also includes the impact of
 our outstanding potential common shares, including options and
 restricted stock units. Potential common shares that are
 anti-dilutive are excluded from the calculation of diluted net
 income per share.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 The following table presents the components of the computation of
 basic and diluted net income per share for the periods indicated
 (in thousands, except per share amounts):&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="76%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="80%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="7%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="7%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="6" align="center"&gt;Three Months Ended&lt;br /&gt;
 March 31,&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;2015&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;2014&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Numerator&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Net income&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;586&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;373&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Denominator&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Weighted average common shares outstanding, basic&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;16,433&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;16,155&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 5em; TEXT-INDENT: -1em"&gt;
 Options to purchase common stock&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;553&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;616&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 5em; TEXT-INDENT: -1em"&gt;
 Restricted stock units&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;24&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;57&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 5em; TEXT-INDENT: -1em"&gt;
 Employee stock purchase plan&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;2&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Weighted average common shares outstanding, diluted&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;17,011&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;16,830&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Net income per share&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Basic&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0.04&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0.02&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Diluted&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0.03&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0.02&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 The effect of approximately 256,000 and 120,000 outstanding
 potential common shares was excluded from the calculation of
 diluted net income per share for the three months ended
 March&amp;#xA0;31, 2015 and 2014, respectively.&lt;/p&gt;


 &lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
  <us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_FDB3CC79-59E4-44A0-BFF5-3CAED21896A7_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 The fair value was estimated based on the market price of our
 common stock at the beginning of each offering period and using the
 Black-Scholes option pricing model with the following
 weighted-average assumptions:&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="68%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="92%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="5%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Volatility&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;32.0&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;%&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Dividend yield&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;%&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Life (in years)&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0.50&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Risk-free interest rate&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0.12&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;%&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;br class="Apple-interchange-newline" /&gt;

 &lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock>
  <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_B48FDB2B-7913-4536-BE0C-43EC108E8C1A_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-TOP: 12pt; TEXT-INDENT: 4%"&gt;
 The weighted average fair value per share of options granted during
 the first three months of 2015 was $23.28 and this was estimated on
 the date of grant using the Black-Scholes option pricing model with
 the following weighted-average assumptions:&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; FONT-SIZE: 12pt; MARGIN-TOP: 0pt"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" width="68%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="92%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="5%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Volatility&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;39.0&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;%&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Dividend yield&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;%&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Life (in years)&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;4.6&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Risk-free interest rate&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1.40&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;%&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_405BDBB1-4FCB-48A2-A89B-B24F519A11FD_5001_3">14.73</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
  <dei:DocumentType contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_125EB044-3ADC-4DA9-ADD4-3010F82F6807_1_0">10-Q</dei:DocumentType>
  <dei:EntityRegistrantName contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_7F49BB62-50A7-4AEC-B655-F38E42994F4B_1_1">SPS COMMERCE INC</dei:EntityRegistrantName>
  <dei:TradingSymbol contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_7F49BB62-50A7-4AEC-B655-F38E42994F4B_1_0">SPSC</dei:TradingSymbol>
  <us-gaap:WeightedAverageNumberOfSharesRestrictedStock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="shares" decimals="-3" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_1_5">24000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
  <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_DD2461DE-5E55-48B0-B0A4-0D67A07777BF_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;b&gt;NOTE B &amp;#x2013; Goodwill and Intangible Assets, net&lt;/b&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 The change in our goodwill for the three months ended
 March&amp;#xA0;31, 2015 was due the effect of foreign currency
 translation.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Intangible assets included the following (in thousands):&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="100%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="56%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="2%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="2%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="2%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="2%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="2%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="2%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="10" align="center"&gt;March&amp;#xA0;31, 2015&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="10" align="center"&gt;December&amp;#xA0;31, 2014&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Carrying&lt;br /&gt;
 Amount&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Accumulated&lt;br /&gt;
 Amortization&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Net&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Carrying&lt;br /&gt;
 Amount&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Accumulated&lt;br /&gt;
 Amortization&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Net&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Subscriber relationships&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;26,490&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(9,719&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;16,771&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;26,724&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(8,992&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;17,732&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Non-competition agreements&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,842&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(1,601&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;241&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,849&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(1,581&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;268&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Technology and other&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;862&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(169&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;693&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;922&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(71&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;851&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;29,194&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(11,489&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;17,705&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;29,495&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(10,644&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;18,851&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 At March&amp;#xA0;31, 2015, future amortization expense for intangible
 assets was as follows (in thousands):&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="68%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="88%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="6%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Remainder of 2015&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;2,484&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 2016&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;3,314&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 2017&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;3,047&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 2018&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;2,456&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 2019&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;2,164&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Thereafter&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;4,240&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;17,705&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;br class="Apple-interchange-newline" /&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
  <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_C01B901B-CFD6-4082-8365-2DE2B3F0449A_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Our stock option activity was as follows:&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="76%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="72%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="7%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="7%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Options&lt;br /&gt;
 (#)&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Weighted&amp;#xA0;Average&lt;br /&gt;
 Exercise Price&lt;br /&gt;
 ($/share)&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Outstanding at December 31, 2014&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,085,463&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;26.53&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Granted&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;140,425&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;67.10&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Exercised&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(138,986&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;14.73&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Forfeited&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(8,041&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;39.86&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Outstanding at March 31, 2015&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,078,861&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;33.23&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;br class="Apple-interchange-newline" /&gt;

 &lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_68F7BD3B-5E3F-443A-B117-0A179590BC92_1_0">23.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <dei:EntityFilerCategory contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_7F49BB62-50A7-4AEC-B655-F38E42994F4B_1_4">Large Accelerated Filer</dei:EntityFilerCategory>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_DD369F1A-0CDD-4A10-9A4A-2BC5E1C4255C_1_1">P3Y1M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="shares" decimals="-3" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_1_4">553000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_17">3062000</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
  <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_F64BD230-773A-4AC9-B844-36AD3E2391B1_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 This expense was allocated as follows (in thousands):&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="76%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="82%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="4%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="4%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="6" align="center"&gt;Three Months Ended&lt;br /&gt;
 March 31,&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;2015&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;2014&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Cost of revenues&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;172&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;153&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Operating expenses&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Sales and marketing&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;542&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;482&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Research and development&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;135&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;93&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 General and administrative&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;650&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;611&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Total stock-based compensation expense&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,499&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,339&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;br class="Apple-interchange-newline" /&gt;

 &lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
  <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_96321057-801A-43A9-9DA5-8A9BCDD1EFC1_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-TOP: 12pt; TEXT-INDENT: 4%"&gt;
 At March&amp;#xA0;31, 2015, future amortization expense for intangible
 assets was as follows (in thousands):&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; FONT-SIZE: 12pt; MARGIN-TOP: 0pt"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" width="68%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="88%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="6%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Remainder of 2015&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;2,484&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 2016&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;3,314&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 2017&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;3,047&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 2018&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;2,456&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 2019&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;2,164&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Thereafter&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;4,240&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: #000000 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: #000000 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: Times New Roman" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;17,705&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: #000000 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: #000000 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_A4E10C18-56A1-4375-8153-775978DD55F1_5001_4">8041</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_C8B327F2-2372-49B3-A52A-38FDE7FC6B3A_3_2">Seven to ten years</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward>
  <us-gaap:LineOfCreditFacilityExpirationDate1 contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_054B8733-9E69-41CE-8722-FE5BB21B2EBB_1_1">2016-09-30</us-gaap:LineOfCreditFacilityExpirationDate1>
  <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_5A2DB1C6-593D-4E6A-BE44-2E795AB01067_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Intangible assets included the following (in thousands):&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="100%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="56%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="2%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="2%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="2%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="2%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="2%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="2%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="10" align="center"&gt;March&amp;#xA0;31, 2015&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="10" align="center"&gt;December&amp;#xA0;31, 2014&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Carrying&lt;br /&gt;
 Amount&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Accumulated&lt;br /&gt;
 Amortization&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Net&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Carrying&lt;br /&gt;
 Amount&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Accumulated&lt;br /&gt;
 Amortization&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Net&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Subscriber relationships&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;26,490&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(9,719&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;16,771&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;26,724&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(8,992&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;17,732&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Non-competition agreements&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,842&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(1,601&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;241&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,849&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(1,581&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;268&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Technology and other&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;862&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(169&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;693&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;922&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(71&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;851&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;29,194&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(11,489&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;17,705&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;29,495&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(10,644&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;18,851&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;br class="Apple-interchange-newline" /&gt;

 &lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_A4E10C18-56A1-4375-8153-775978DD55F1_5001_2">140425</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:UseOfEstimates contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_8FBCFC71-E5A4-4ED6-A9DE-E4F615EDCC16_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Use of Estimates&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Preparing financial statements in conformity with GAAP requires
 management to make estimates and assumptions that affect the
 reported amounts of assets and liabilities and disclosure of
 contingent assets and liabilities at the date of the financial
 statements and the reported amounts of revenues and expenses during
 the reporting periods. Actual results could differ from those
 estimates.&lt;/p&gt;


 &lt;/div&gt;</us-gaap:UseOfEstimates>
  <dei:DocumentPeriodEndDate contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_125EB044-3ADC-4DA9-ADD4-3010F82F6807_1_2">2015-03-31</dei:DocumentPeriodEndDate>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_15DCAB78-67BD-4690-81BB-71E5DC9D95A7_1_2">P5Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_405BDBB1-4FCB-48A2-A89B-B24F519A11FD_5001_4">39.86</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
  <dei:AmendmentFlag contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_125EB044-3ADC-4DA9-ADD4-3010F82F6807_1_1">false</dei:AmendmentFlag>
  <dei:CurrentFiscalYearEndDate contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_7F49BB62-50A7-4AEC-B655-F38E42994F4B_1_3">--12-31</dei:CurrentFiscalYearEndDate>
  <dei:DocumentFiscalYearFocus contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_125EB044-3ADC-4DA9-ADD4-3010F82F6807_1_3">2015</dei:DocumentFiscalYearFocus>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="shares" decimals="-3" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_1_7">17011000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_C22878EC-66AA-4F1A-9055-D63A4F63B895_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Business Description&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 We are a leading provider of cloud-based supply chain management
 solutions, providing network-proven integrations and comprehensive
 retail performance analytics to thousands of customers worldwide.
 We provide our solutions through the SPS Commerce platform, a
 cloud-based product suite that improves the way suppliers,
 retailers, distributors and other customers manage and fulfill
 orders. We derive the majority of our revenues from thousands of
 monthly recurring subscriptions from businesses that utilize our
 solutions.&lt;/p&gt;


 &lt;/div&gt;</us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock>
  <us-gaap:EarningsPerShareBasic contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_1_9">0.04</us-gaap:EarningsPerShareBasic>
  <us-gaap:IncomeTaxDisclosureTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_6E1B9CBE-EA06-4F8C-9E9C-C5A82669C08E_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;b&gt;NOTE E &amp;#x2013; Income Taxes&lt;/b&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 We record our interim provision for income taxes by applying our
 estimated annual effective tax rate to our year-to-date pretax
 income and adjust the provision for discrete tax items recorded in
 the period. Differences between our effective tax rate and
 statutory tax rates are primarily due to the impact of meals and
 entertainment expense and employee stock purchase plan expense.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 We recorded income tax expense of $261,000 and $218,000 for the
 three months ended March&amp;#xA0;31, 2015 and 2014, respectively. Our
 provisions for income taxes included current foreign and state
 income tax expense, as well as deferred tax expense.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 We are subject to U.S federal income tax as well as income tax in
 various state and international jurisdictions. We are generally
 subject to tax examinations for all prior years due to our net
 operating loss carryforwards. As of March&amp;#xA0;31, 2015, we were
 not under any income tax audits by tax authorities.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 As of March&amp;#xA0;31, 2015 we do not have any unrecognized tax
 benefits. It is our practice to recognize interest and penalties
 accrued on any unrecognized tax benefits as a component of income
 tax expense. We do not expect any material changes in our
 unrecognized tax positions over the next 12 months.&lt;/p&gt;


 &lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
  <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_3884940F-1301-47E7-9285-80B462AEF883_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;b&gt;NOTE A &amp;#x2013; General&lt;/b&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Business Description&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 We are a leading provider of cloud-based supply chain management
 solutions, providing network-proven integrations and comprehensive
 retail performance analytics to thousands of customers worldwide.
 We provide our solutions through the SPS Commerce platform, a
 cloud-based product suite that improves the way suppliers,
 retailers, distributors and other customers manage and fulfill
 orders. We derive the majority of our revenues from thousands of
 monthly recurring subscriptions from businesses that utilize our
 solutions.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Basis of Presentation&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 The accompanying unaudited condensed consolidated financial
 statements include the accounts of SPS Commerce, Inc. and its
 subsidiaries. All intercompany accounts and transactions have been
 eliminated in the condensed consolidated financial statements,
 which have been prepared in conformity with U.S. generally accepted
 accounting principles (&amp;#x201C;GAAP&amp;#x201D;) for interim financial
 information and with the instructions to Form 10-Q and Rule 10-01
 of Regulation S-X. Accordingly, these condensed consolidated
 financial statements do not include all of the information and
 notes required by GAAP. We have included all normal recurring
 adjustments considered necessary to give a fair statement of our
 financial position, results of operations and cash flows for the
 interim periods shown. Operating results for these interim periods
 are not necessarily indicative of the results to be expected for
 the full year. The December&amp;#xA0;31, 2014 condensed consolidated
 balance sheet data was derived from our audited financial
 statements at that date. For further information, refer to the
 consolidated financial statements and accompanying notes for the
 year ended December&amp;#xA0;31, 2014 included in our Annual Report on
 Form 10-K as filed with the Securities and Exchange Commission on
 February&amp;#xA0;20, 2015.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Use of Estimates&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Preparing financial statements in conformity with GAAP requires
 management to make estimates and assumptions that affect the
 reported amounts of assets and liabilities and disclosure of
 contingent assets and liabilities at the date of the financial
 statements and the reported amounts of revenues and expenses during
 the reporting periods. Actual results could differ from those
 estimates.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Significant Accounting Policies&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 During the three months ended March&amp;#xA0;31, 2015, there were no
 material changes in our significant accounting policies. See
 Note&amp;#xA0;A to the consolidated financial statements included in
 our Annual Report on Form 10-K for the year ended December&amp;#xA0;31,
 2014, as filed with the Securities and Exchange Commission on
 February&amp;#xA0;20, 2015, for additional information regarding our
 significant accounting policies.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Recent Accounting Pronouncements&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 In May 2014, the Financial Accounting Standards Board issued new
 accounting requirements for the recognition of revenue from
 contracts with customers. These new requirements are effective for
 annual reporting periods beginning after December&amp;#xA0;15, 2016,
 and interim periods within those annual periods. We are currently
 evaluating the impact of this guidance on our results of operations
 and financial position.&lt;/p&gt;
 &lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
  <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_224C01A9-CFC2-4F75-B061-15BEABBFFB7F_1_0">&lt;div&gt;
 &lt;p style="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman"&gt;
 The following table presents the components of the computation of
 basic and diluted net income per share for the periods indicated
 (in thousands, except per share amounts):&lt;/p&gt;
 &lt;p style="font-size:12pt;margin-top:0pt;margin-bottom:0pt"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table cellspacing="0" cellpadding="0" width="76%" border="0" style="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" align="center"&gt;
 &lt;tr&gt;
 &lt;td width="80%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="7%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="7%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-family:Times New Roman; font-size:8pt"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" colspan="6" align="center" style="border-bottom:1.00pt solid #000000"&gt;Three Months Ended&lt;br /&gt;
 March 31,&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-family:Times New Roman; font-size:8pt"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" colspan="2" align="center" style="border-bottom:1.00pt solid #000000"&gt;2015&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" colspan="2" align="center" style="border-bottom:1.00pt solid #000000"&gt;2014&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-size:1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr bgcolor="#CCEEFF" style="font-family:Times New Roman; font-size:10pt"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"&gt;
 Numerator&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-family:Times New Roman; font-size:10pt"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"&gt;
 Net income&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;586&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;373&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-size:1px;"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-size:1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr bgcolor="#CCEEFF" style="font-family:Times New Roman; font-size:10pt"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"&gt;
 Denominator&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-family:Times New Roman; font-size:10pt"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"&gt;
 Weighted average common shares outstanding, basic&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;16,433&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;16,155&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr bgcolor="#CCEEFF" style="font-family:Times New Roman; font-size:10pt"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="margin-left:5.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"&gt;
 Options to purchase common stock&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;553&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;616&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-family:Times New Roman; font-size:10pt"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="margin-left:5.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"&gt;
 Restricted stock units&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;24&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;57&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr bgcolor="#CCEEFF" style="font-family:Times New Roman; font-size:10pt"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="margin-left:5.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"&gt;
 Employee stock purchase plan&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;2&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-size:1px;"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:1.00px solid #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:1.00px solid #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:1.00px solid #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:1.00px solid #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-family:Times New Roman; font-size:10pt"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"&gt;
 Weighted average common shares outstanding, diluted&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;17,011&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;16,830&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-size:1px;"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-size:1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr bgcolor="#CCEEFF" style="font-family:Times New Roman; font-size:10pt"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="margin-left:1.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"&gt;
 Net income per share&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-family:Times New Roman; font-size:10pt"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"&gt;
 Basic&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0.04&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0.02&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-size:1px;"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr bgcolor="#CCEEFF" style="font-family:Times New Roman; font-size:10pt"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="margin-left:3.00em; text-indent:-1.00em; font-size:10pt; font-family:Times New Roman"&gt;
 Diluted&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0.03&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0.02&lt;/td&gt;
 &lt;td nowrap="nowrap" valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="font-size:1px;"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="border-top:3.00px double #000000"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_C8B327F2-2372-49B3-A52A-38FDE7FC6B3A_3_1">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_405BDBB1-4FCB-48A2-A89B-B24F519A11FD_5001_2">67.10</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
  <dei:EntityCentralIndexKey contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_7F49BB62-50A7-4AEC-B655-F38E42994F4B_1_2">0001092699</dei:EntityCentralIndexKey>
  <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_5CE29838-2D21-4FBB-BAB3-9CCA335E7566_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;b&gt;NOTE D &amp;#x2013; Stock-Based Compensation&lt;/b&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Our equity compensation plans provide for the grant of incentive
 and nonqualified stock options, as well as other stock-based awards
 including restricted stock and restricted stock units, to
 employees, non-employee directors and other consultants who provide
 services to us. Restricted stock awards result in the issuance of
 new shares when granted. For other stock-based awards, new shares
 are issued when the award is exercised, vested or released
 according to the terms of the agreement. In January 2015, 980,924
 additional shares were reserved for future issuance under our 2010
 Equity Incentive Plan. At March&amp;#xA0;31, 2015, there were
 approximately 3.4&amp;#xA0;million shares available for grant under
 approved equity compensation plans.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0px; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 1px &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12px; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 We recorded stock-based compensation expense of $1.5 million and
 $1.3 million for the three months ended March&amp;#xA0;31, 2015 and
 2014, respectively. This expense was allocated as follows (in
 thousands):&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="76%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="82%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="4%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="4%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="6" align="center"&gt;Three Months Ended&lt;br /&gt;
 March 31,&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;2015&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;2014&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Cost of revenues&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;172&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;153&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Operating expenses&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Sales and marketing&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;542&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;482&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Research and development&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;135&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;93&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 General and administrative&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;650&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;611&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Total stock-based compensation expense&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,499&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,339&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 At March&amp;#xA0;31, 2015, there was approximately $14.3 million of
 unrecognized stock-based compensation expense under our equity
 compensation plans, which is expected to be recognized on a
 straight line basis over a weighted average period of 3.1
 years.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Stock Options&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Stock options generally vest over four years and have a contractual
 term of seven to ten years from the date of grant. Our stock option
 activity was as follows:&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="76%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="72%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="7%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="7%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Options&lt;br /&gt;
 (#)&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Weighted&amp;#xA0;Average&lt;br /&gt;
 Exercise Price&lt;br /&gt;
 ($/share)&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Outstanding at December 31, 2014&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,085,463&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;26.53&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Granted&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;140,425&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;67.10&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Exercised&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(138,986&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;14.73&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Forfeited&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(8,041&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;39.86&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Outstanding at March 31, 2015&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,078,861&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;33.23&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Of the total outstanding options at March&amp;#xA0;31, 2015, 698,197
 were exercisable with a weighted average exercise price of $21.79
 per share. The total outstanding options had a weighted average
 remaining contractual life of 5.3 years.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 The weighted average fair value per share of options granted during
 the first three months of 2015 was $23.28 and this was estimated on
 the date of grant using the Black-Scholes option pricing model with
 the following weighted-average assumptions:&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="68%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="92%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="5%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Volatility&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;39.0&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;%&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Dividend yield&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;%&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Life (in years)&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;4.6&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Risk-free interest rate&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1.40&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;%&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 As discussed in Note J to our consolidated financial statements
 included in our Annual Report on Form 10-K for the year ended
 December&amp;#xA0;31, 2014, beginning in 2015, the volatility
 assumption used for the Black-Scholes option pricing model is now
 based solely on the historical volatility of our common stock.
 Previously, we estimated volatility based partially on the
 historical volatilities of the publicly traded shares of a selected
 peer group and partially on the historical volatility of our common
 stock.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0px; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 1px &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18px; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Restricted Stock Units and Awards&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Restricted stock units vest over four years and, upon vesting, the
 holder is entitled to receive shares of our common stock. With
 restricted stock awards, shares of our common stock are issued when
 the award is granted and the restrictions lapse over one year.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Our restricted stock units activity was as follows:&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="76%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="68%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="10%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="10%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Restricted&amp;#xA0;Stock&lt;br /&gt;
 Units&lt;br /&gt;
 (#)&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Weighted&amp;#xA0;Average&lt;br /&gt;
 Grant Date Fair&lt;br /&gt;
 Value ($/share)&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Outstanding at December&amp;#xA0;31, 2014&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;115,133&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;45.25&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Granted&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;57,802&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;67.10&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Vested and common stock issued&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(37,537&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;40.86&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Forfeited&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(2,464&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;43.56&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Outstanding at March&amp;#xA0;31, 2015&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;132,934&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;56.02&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 The number of restricted stock units outstanding at March&amp;#xA0;31,
 2015 included 3,140 units that have vested but for which shares of
 common stock have not yet been issued pursuant to the terms of the
 agreement.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Our restricted stock awards activity was as follows:&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="76%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="69%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="10%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="10%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Restricted&amp;#xA0;Stock&lt;br /&gt;
 Awards&lt;br /&gt;
 (#)&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Weighted&amp;#xA0;Average&lt;br /&gt;
 Grant Date Fair&lt;br /&gt;
 Value ($/share)&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Outstanding at December&amp;#xA0;31, 2014&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,338&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;51.74&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Restricted common stock issued&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap" align="right"&gt;
 &amp;#x2014;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap" align="right"&gt;
 &amp;#x2014;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Restrictions lapsed&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(1,338&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;51.74&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Forfeited&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap" align="right"&gt;
 &amp;#x2014;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap" align="right"&gt;
 &amp;#x2014;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Outstanding at March&amp;#xA0;31, 2015&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap" align="right"&gt;
 &amp;#x2014;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap" align="right"&gt;
 &amp;#x2014;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Employee Stock Purchase Plan&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Our employee stock purchase plan allows participating employees to
 purchase shares of our common stock at a discount through payroll
 deductions. The plan is available to all employees subject to
 certain eligibility requirements. Participating employees may
 purchase common stock, on a voluntary after tax basis, at a price
 that is the lower of 85% of the fair market value of one share of
 common stock at the beginning or end of each stock purchase period.
 The plan consists of two six-month offering periods, beginning on
 January&amp;#xA0;1 and July&amp;#xA0;1 of each calendar year. A total of
 1.2&amp;#xA0;million shares of common stock are reserved for issuance
 under the plan.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 For the offering period that began on January&amp;#xA0;1, 2015, we
 withheld approximately $382,000 from employees participating in the
 plan as of March&amp;#xA0;31, 2015.&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 For the three months ended March&amp;#xA0;31, 2015, we recorded
 approximately $97,000 of stock-based compensation expense
 associated with the employee stock purchase plan. The fair value
 was estimated based on the market price of our common stock at the
 beginning of each offering period and using the Black-Scholes
 option pricing model with the following weighted-average
 assumptions:&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="68%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="92%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="5%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Volatility&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;32.0&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;%&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Dividend yield&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;%&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Life (in years)&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0.50&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Risk-free interest rate&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;0.12&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;%&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;br class="Apple-interchange-newline" /&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
  <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_344566E6-E36D-4550-8945-1F9BE9E5D85F_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Recent Accounting Pronouncements&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 In May 2014, the Financial Accounting Standards Board issued new
 accounting requirements for the recognition of revenue from
 contracts with customers. These new requirements are effective for
 annual reporting periods beginning after December&amp;#xA0;15, 2016,
 and interim periods within those annual periods. We are currently
 evaluating the impact of this guidance on our results of operations
 and financial position.&lt;/p&gt;


 &lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
  <us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="shares" decimals="-3" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_1_6">1000</us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased>
  <dei:DocumentFiscalPeriodFocus contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_125EB044-3ADC-4DA9-ADD4-3010F82F6807_1_4">Q1</dei:DocumentFiscalPeriodFocus>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_2BD553A3-4BAD-40E8-9269-BDCBE897AC24_1_0">256000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_A4E10C18-56A1-4375-8153-775978DD55F1_5001_3">138986</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="shares" decimals="-3" id="id_7874197_97A81190-8057-48BD-A5BF-F5AB5E2F4BA5_1_3">16433000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_24">-1299000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <us-gaap:InterestIncomeExpenseNet contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_11">37000</us-gaap:InterestIncomeExpenseNet>
  <us-gaap:GrossProfit contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_2">25398000</us-gaap:GrossProfit>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_25">-713000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
  <us-gaap:OperatingIncomeLoss contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_9">922000</us-gaap:OperatingIncomeLoss>
  <us-gaap:NonoperatingIncomeExpense contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_13">-75000</us-gaap:NonoperatingIncomeExpense>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_14">847000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:OtherNonoperatingIncomeExpense contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_12">-112000</us-gaap:OtherNonoperatingIncomeExpense>
  <us-gaap:Revenues contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_0">36970000</us-gaap:Revenues>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_19">2308000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:NetIncomeLoss contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_1">586000</us-gaap:NetIncomeLoss>
  <us-gaap:IncreaseDecreaseInDeferredCharges contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_10">-863000</us-gaap:IncreaseDecreaseInDeferredCharges>
  <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_9">-594000</us-gaap:IncreaseDecreaseInAccountsReceivable>
  <us-gaap:IncreaseDecreaseInOtherCurrentAssets contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_11">-105000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_3">-51000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DepreciationDepletionAndAmortization contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_4">1541000</us-gaap:DepreciationDepletionAndAmortization>
  <us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_25">-346000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
  <us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_15">-78000</us-gaap:IncreaseDecreaseInDeferredRevenue>
  <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_13">420000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
  <us-gaap:OperatingExpenses contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_8">24476000</us-gaap:OperatingExpenses>
  <us-gaap:ResearchAndDevelopmentExpense contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_5">4069000</us-gaap:ResearchAndDevelopmentExpense>
  <us-gaap:SellingAndMarketingExpense contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_4">13744000</us-gaap:SellingAndMarketingExpense>
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_23">300000</us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities>
  <us-gaap:IncreaseDecreaseInDeferredLiabilities contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_16">-146000</us-gaap:IncreaseDecreaseInDeferredLiabilities>
  <us-gaap:ProvisionForDoubtfulAccounts contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_6">138000</us-gaap:ProvisionForDoubtfulAccounts>
  <us-gaap:AmortizationOfIntangibleAssets contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_5">845000</us-gaap:AmortizationOfIntangibleAssets>
  <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_26">2755000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
  <us-gaap:IncomeTaxExpenseBenefit contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_CF92D881-45CD-4C40-AE95-0FB9F46755B5_1_0">261000</us-gaap:IncomeTaxExpenseBenefit>
  <us-gaap:CostOfRevenue contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_1">11572000</us-gaap:CostOfRevenue>
  <us-gaap:NetCashProvidedByUsedInFinancingActivitiesContinuingOperations contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_24">2347000</us-gaap:NetCashProvidedByUsedInFinancingActivitiesContinuingOperations>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_14">347000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_20">-2308000</us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations>
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_22">2047000</us-gaap:ProceedsFromStockOptionsExercised>
  <us-gaap:GeneralAndAdministrativeExpense contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_BCD08BFB-64F0-4BCF-AF00-6870A5DE0D55_1_6">5818000</us-gaap:GeneralAndAdministrativeExpense>
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_12">-477000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <us-gaap:ShareBasedCompensation contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="iso4217_USD" decimals="-3" id="id_7874197_5D2D35E6-1313-4984-A3D2-3D8394EC7462_1_7">1499000</us-gaap:ShareBasedCompensation>
  <spsc:SignificantAccountingPoliciesPolicyTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" id="id_7874197_D58136C7-7197-4360-88BE-424BDEDE076C_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 18pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &lt;i&gt;Significant Accounting Policies&lt;/i&gt;&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 6pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 During the three months ended March&amp;#xA0;31, 2015, there were no
 material changes in our significant accounting policies. See
 Note&amp;#xA0;A to the consolidated financial statements included in
 our Annual Report on Form 10-K for the year ended December&amp;#xA0;31,
 2014, as filed with the Securities and Exchange Commission on
 February&amp;#xA0;20, 2015, for additional information regarding our
 significant accounting policies.&lt;/p&gt;


 &lt;/div&gt;</spsc:SignificantAccountingPoliciesPolicyTextBlock>
  <spsc:NumberOfOfferingsDuringYear contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="OfferingPeriods" decimals="INF" id="id_7874197_F45315E7-9CCB-451C-8476-8ADB81FF6394_1_1">2</spsc:NumberOfOfferingsDuringYear>
  <spsc:PercentageOfCommonStockOnFairMarketValue contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="pure" decimals="2" id="id_7874197_F45315E7-9CCB-451C-8476-8ADB81FF6394_1_0">0.85</spsc:PercentageOfCommonStockOnFairMarketValue>
  <spsc:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndUnissuedInPeriod contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0" unitRef="shares" decimals="INF" id="id_7874197_A56BD15F-AE4D-40D1-A6DA-C0615AC3A655_1_0">3140</spsc:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndUnissuedInPeriod>
  <spsc:ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfStockOption contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1269523x1275948" id="id_7874197_C8B327F2-2372-49B3-A52A-38FDE7FC6B3A_1_0">P10Y</spsc:ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfStockOption>
  <spsc:ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfStockOption contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1269523x1277596" id="id_7874197_C8B327F2-2372-49B3-A52A-38FDE7FC6B3A_2_0">P7Y</spsc:ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfStockOption>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271210" unitRef="shares" decimals="INF" id="id_7874197_D8694443-2FAD-4C2F-A299-FC4DBEDFD94A_5001_4">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271210" unitRef="iso4217_USD_per_shares" decimals="0" id="id_7874197_FA68545A-9945-4829-9AD8-4016F2D51FE4_5001_2">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271210" unitRef="shares" decimals="INF" id="id_7874197_D8694443-2FAD-4C2F-A299-FC4DBEDFD94A_5001_3">1338</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271210" unitRef="shares" decimals="INF" id="id_7874197_D8694443-2FAD-4C2F-A299-FC4DBEDFD94A_5001_2">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271210" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_FA68545A-9945-4829-9AD8-4016F2D51FE4_5001_3">51.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271210" unitRef="iso4217_USD_per_shares" decimals="0" id="id_7874197_FA68545A-9945-4829-9AD8-4016F2D51FE4_5001_4">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1 contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271210" id="id_7874197_F5138CF9-7FFD-4721-B08B-27B649856FF6_1001_1">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
  <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271210" id="id_7874197_0B771E07-F963-4EDB-BBAC-EA173E711AA5_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Our restricted stock awards activity was as follows:&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="76%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="69%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="10%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="10%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Restricted&amp;#xA0;Stock&lt;br /&gt;
 Awards&lt;br /&gt;
 (#)&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Weighted&amp;#xA0;Average&lt;br /&gt;
 Grant Date Fair&lt;br /&gt;
 Value ($/share)&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Outstanding at December&amp;#xA0;31, 2014&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;1,338&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;51.74&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Restricted common stock issued&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap" align="right"&gt;
 &amp;#x2014;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap" align="right"&gt;
 &amp;#x2014;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Restrictions lapsed&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(1,338&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;51.74&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Forfeited&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap" align="right"&gt;
 &amp;#x2014;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap" align="right"&gt;
 &amp;#x2014;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Outstanding at March&amp;#xA0;31, 2015&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap" align="right"&gt;
 &amp;#x2014;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap" align="right"&gt;
 &amp;#x2014;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;br class="Apple-interchange-newline" /&gt;

 &lt;/div&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271212" unitRef="shares" decimals="INF" id="id_7874197_F352DCD6-6B49-41C0-A528-627DDE495E40_5001_4">2464</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271212" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_8F680868-14FC-4BB8-89CE-F56535A82C9B_5001_2">67.10</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271212" unitRef="shares" decimals="INF" id="id_7874197_F352DCD6-6B49-41C0-A528-627DDE495E40_5001_3">37537</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271212" unitRef="shares" decimals="INF" id="id_7874197_F352DCD6-6B49-41C0-A528-627DDE495E40_5001_2">57802</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271212" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_8F680868-14FC-4BB8-89CE-F56535A82C9B_5001_3">40.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271212" unitRef="iso4217_USD_per_shares" decimals="2" id="id_7874197_8F680868-14FC-4BB8-89CE-F56535A82C9B_5001_4">43.56</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271212" id="id_7874197_F5138CF9-7FFD-4721-B08B-27B649856FF6_2001_0">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271212" id="id_7874197_E917E9E1-AF3C-43FB-9A90-266997DF60F4_1_0">&lt;div&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 10pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 12pt; LETTER-SPACING: normal; TEXT-INDENT: 4%; -webkit-text-stroke-width: 0px"&gt;
 Our restricted stock units activity was as follows:&lt;/p&gt;
 &lt;p style="MARGIN-BOTTOM: 0pt; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; COLOR: rgb(0,0,0); FONT: 12pt &apos;Times New Roman&apos;; WIDOWS: 1; MARGIN-TOP: 0pt; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px"&gt;
 &amp;#xA0;&lt;/p&gt;
 &lt;table style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; WORD-SPACING: 0px; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px" cellspacing="0" cellpadding="0" width="76%" align="center" border="0"&gt;
 &lt;tr&gt;
 &lt;td width="68%"&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="10%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td valign="bottom" width="10%"&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 8pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Restricted&amp;#xA0;Stock&lt;br /&gt;
 Units&lt;br /&gt;
 (#)&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td style="BORDER-BOTTOM: rgb(0,0,0) 1pt solid" valign="bottom" colspan="2" align="center"&gt;Weighted&amp;#xA0;Average&lt;br /&gt;
 Grant Date Fair&lt;br /&gt;
 Value ($/share)&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1pt"&gt;
 &lt;td height="8"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;td height="8" colspan="4"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Outstanding at December&amp;#xA0;31, 2014&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;115,133&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;$&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;45.25&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Granted&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;57,802&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;67.10&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Vested and common stock issued&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(37,537&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;40.86&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 3em; TEXT-INDENT: -1em"&gt;
 Forfeited&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;(2,464&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;)&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;43.56&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 1px solid"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;" bgcolor="#CCEEFF"&gt;
 &lt;td valign="top"&gt;
 &lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: &apos;Times New Roman&apos;; MARGIN-LEFT: 1em; TEXT-INDENT: -1em"&gt;
 Outstanding at March&amp;#xA0;31, 2015&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;132,934&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom" align="right"&gt;56.02&lt;/td&gt;
 &lt;td valign="bottom" nowrap="nowrap"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="FONT-SIZE: 1px"&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td valign="bottom"&gt;
 &lt;p style="BORDER-TOP: rgb(0,0,0) 3px double"&gt;&amp;#xA0;&lt;/p&gt;
 &lt;/td&gt;
 &lt;td&gt;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&amp;#xA0;&amp;#xA0;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;td valign="bottom"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;
 &lt;br class="Apple-interchange-newline" /&gt;

 &lt;/div&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsWeightedAverageVolatilityRate contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1275629" unitRef="pure" decimals="3" id="id_7874197_754DB6AA-93AB-4CDC-9867-4C69F5F882D4_1001_0">0.390</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsWeightedAverageVolatilityRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1275629" unitRef="pure" decimals="2" id="id_7874197_754DB6AA-93AB-4CDC-9867-4C69F5F882D4_1001_1">0.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1275629" id="id_7874197_754DB6AA-93AB-4CDC-9867-4C69F5F882D4_1001_2">P4Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1275629" unitRef="pure" decimals="4" id="id_7874197_754DB6AA-93AB-4CDC-9867-4C69F5F882D4_1001_3">0.0140</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <us-gaap:ShareBasedCompensation contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1274159x1269133" unitRef="iso4217_USD" decimals="-3" id="id_7874197_D640FB87-0C71-476C-A0C4-896E03DAAEC5_1001_3">650000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1274159x1269570" unitRef="iso4217_USD" decimals="-3" id="id_7874197_D640FB87-0C71-476C-A0C4-896E03DAAEC5_2001_2">135000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1274159x1270466" unitRef="iso4217_USD" decimals="-3" id="id_7874197_D640FB87-0C71-476C-A0C4-896E03DAAEC5_3001_0">172000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1274159x1277930" unitRef="iso4217_USD" decimals="-3" id="id_7874197_D640FB87-0C71-476C-A0C4-896E03DAAEC5_4001_1">542000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1280964x1425334" unitRef="pure" decimals="2" id="id_7874197_58BECBDE-0C30-47D2-8046-0EE1B12B3C12_1001_1">0.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1280964x1425334" id="id_7874197_58BECBDE-0C30-47D2-8046-0EE1B12B3C12_1001_2">P6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1280964x1425334" unitRef="pure" decimals="4" id="id_7874197_58BECBDE-0C30-47D2-8046-0EE1B12B3C12_1001_3">0.0012</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1280964x1425334" unitRef="pure" decimals="3" id="id_7874197_58BECBDE-0C30-47D2-8046-0EE1B12B3C12_1001_0">0.320</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <us-gaap:ShareBasedCompensation contextRef="eol_PE159725--1510-Q0002_STD_90_20150331_0_1280964x1425334" unitRef="iso4217_USD" decimals="-3" id="id_7874197_67FE3F57-5D5E-4515-A1E1-1974EE7217D8_1001_0">97000</us-gaap:ShareBasedCompensation>
  <context id="eol_PE159725--1510-Q0002_STD_90_20150331_0_1280964x1425334">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">spsc:EmployeeStockPurchasePlanMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2015-01-01</startDate>
      <endDate>2015-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20150331_0_1274159x1277930">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2015-01-01</startDate>
      <endDate>2015-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20150331_0_1274159x1270466">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2015-01-01</startDate>
      <endDate>2015-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20150331_0_1274159x1269570">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2015-01-01</startDate>
      <endDate>2015-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20150331_0_1274159x1269133">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2015-01-01</startDate>
      <endDate>2015-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1275629">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2015-01-01</startDate>
      <endDate>2015-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271212">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2015-01-01</startDate>
      <endDate>2015-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20150331_0_1270313x1271210">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2015-01-01</startDate>
      <endDate>2015-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20150331_0_1269523x1277596">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MinimumMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2015-01-01</startDate>
      <endDate>2015-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20150331_0_1269523x1275948">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MaximumMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2015-01-01</startDate>
      <endDate>2015-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20150331_0">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
    </entity>
    <period>
      <startDate>2015-01-01</startDate>
      <endDate>2015-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20140331_0_1274159x1277930">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2014-01-01</startDate>
      <endDate>2014-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20140331_0_1274159x1270466">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2014-01-01</startDate>
      <endDate>2014-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20140331_0_1274159x1269570">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2014-01-01</startDate>
      <endDate>2014-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20140331_0_1274159x1269133">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2014-01-01</startDate>
      <endDate>2014-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_90_20140331_0">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
    </entity>
    <period>
      <startDate>2014-01-01</startDate>
      <endDate>2014-03-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_31_20150131_0_1268718x1437492_1270313x1276426">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">spsc:TwoThousandTenMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <startDate>2015-01-01</startDate>
      <endDate>2015-01-31</endDate>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20150331_0_1280964x1425334">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">spsc:EmployeeStockPurchasePlanMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2015-03-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20150331_0_1277337x1614004">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">spsc:TechnologyAndOtherMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2015-03-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20150331_0_1277337x1274350">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2015-03-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20150331_0_1277337x1270454">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2015-03-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20150331_0_1275460x1281089">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2015-03-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20150331_0_1270313x1275629">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2015-03-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20150331_0_1270313x1271212">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2015-03-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20150331_0_1270313x1271210">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2015-03-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20150331_0">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
    </entity>
    <period>
      <instant>2015-03-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20140331_0">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
    </entity>
    <period>
      <instant>2014-03-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20150422_0">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
    </entity>
    <period>
      <instant>2015-04-22</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20141231_0_1277337x1614004">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">spsc:TechnologyAndOtherMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2014-12-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20141231_0_1277337x1274350">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2014-12-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20141231_0_1277337x1270454">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2014-12-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20141231_0_1270313x1271212">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2014-12-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20141231_0_1270313x1271210">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
      <segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></segment>
    </entity>
    <period>
      <instant>2014-12-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20141231_0">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
    </entity>
    <period>
      <instant>2014-12-31</instant>
    </period>
  </context>
  <context id="eol_PE159725--1510-Q0002_STD_0_20131231_0">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001092699</identifier>
    </entity>
    <period>
      <instant>2013-12-31</instant>
    </period>
  </context>
  <unit id="iso4217_USD">
    <measure>iso4217:USD</measure>
  </unit>
  <unit id="shares">
    <measure>shares</measure>
  </unit>
  <unit id="iso4217_USD_per_shares">
    <divide>
      <unitNumerator>
        <measure>iso4217:USD</measure>
      </unitNumerator>
      <unitDenominator>
        <measure>shares</measure>
      </unitDenominator>
    </divide>
  </unit>
  <unit id="OfferingPeriods">
    <measure>spsc:OfferingPeriods</measure>
  </unit>
  <unit id="pure">
    <measure>pure</measure>
  </unit>
</xbrl>
